变量的修饰
﹟Java中没有全局变量,只有方法变量、实例变量(类中的非静态变量)、类变量(类中的静态变量)
﹟方法中的变量不能够有访问修饰符,所以下面的修饰符表仅针对类中定义的变量。
﹟声明实例变量或静态变量时如果没有赋初值,将被初始化为null(引用类型)或者0、false(布尔类型) 而方法变量必须被初始化。
﹟可以通过实例变量初始化器来初始化初始化比较复杂的实例变量,实例变量的初始化是一个用{}包含的语句块,在类的构造被调用时运行,运行于父类的构造器之后,构造器之前。
﹟类变量(静态变量)也可以通过类变量初始化器来进行初始化,类变量的初始化器是一个用static{}包含的语句块,只可能被初始化一次。
package mianshi;
public class A {
private int a1;
private static int a2;
public A(){
System.out.println("A init==="+a1+"===a2==="+a2);
}
{
a1= 11;
System.out.println("===a1==="+a1);
}
static{
a2= 12;
System.out.println("===a2==="+a2);
}
}
package mianshi;
public class B extends A {
private int b1;
private static int b2;
public B(){
System.out.println("B init===b1==="+b1+"===b2==="+b2);
}
{
b1 = 21;
System.out.println("===b1==="+b1);
}
static{
b2= 22;
System.out.println("===b2==="+b2);
}
}
package mianshi;
public class Main {
public static void main(String[] args){
B b=new B();
}
}