1 public static void getScore(){ }4.instance属性和方法:
1.实例属性:
1 String name;2.实例方法:
1 public void getScore(){ }4.static与instance的区别:
1.加载时间差别:
静态属性和方法是在初次出现类名时,为类的静态属性和方法分配内存。
实例属性和方法是类new对象的时间,为类的实例属性和方法分配内存。
2.份数差别:
静态属性和方法只有一份多个对象享用,而实例属性和方法是有多少个对象就有多少份。
3.初始化方法差别:
静态变量是除了通过界说时手动确定外还可以通过static块(静态块)来初始化。
比方:
static int age=0; //界说时手动初始化。//静态块,为static变量初始化,静态块在初次类名出现时调用,但后于分配静态变量。 static{ age = 20; }静态块:
类名初次出现时,先为静态变量分配内存,然后调用静态块,静态块可以为静态变量初始化。静态块只在类名初次出现时调用一次,以后再也不调用了。
动态变量则是除了界说时手动赋值外还通过构造方法赋值(一样寻常用构造方法初始化)
比方:
String name= "张三"; //界说时手动初始化。 Test(String name){ //带一个参数的构造方法。 this.name=name; } public static void main(String[] args) { Test t1=new Test("张三"); //通过构造方法初始化。 }4.内存存放所在差别:
public class Test { static int age; public static void main(String[] args) { age = 2; //此方法精确,都是静态的,类名初次出现就分内存 }}
public class Test { public static void main(String[] args) { } public void sayHello(){ } public static void sayHi(){ //报错,不知道sayHello()有没有 sayHello(); }}
public class Test { int age; public static void main(String[] args) { //报错,不知道age属性有没有。 age = 2; }}
public class Test { int age; public static void main(String[] args) { //精确,创建对象new Test()调用属性age表明已存在age属性就能调用 new Test().age = 2; }}