1. static关键字可以修饰属性
-
称为静态属性也叫做类的变量
-
在方法区(共享区)中存储,并且所有对象都可以访问
-
与类同生死,也就是说类存在时static修饰的属性就存在
-
可以使用类名.属性名称,也可以使用引用名称.属性名称
注意:当引用名称的值为null时,也可以访问静态属性,不会出现空指针异常
-
类优先于对象,也就是说类的生命周期比较长
-
2. static关键字可以修饰方法
-
称为静态方法也叫做类的方法
-
与类同生死,也就是说类存在时static修饰的方法就存在
-
可以使用类名.方法名称([参数列表]); ,也可以使用引用名称.方法名称([参数列表]);
注意:当引用名称的值为null时,也可以访问静态方法,不会出现空指针异常
-
静态方法中只能访问静态属性、静态方法
-
当方法体中只访问静态属性、静态方法时,可以编写为静态方法
3. static关键字可以修饰代码块
-
主要完成对静态属性赋值
-
静态代码块在类第一次被载入时执行
Student{ //静态代码块:完成对静态属性赋值 static{ address = "北京市"; System.out.println("执行了静态代码块。。。。。"); } //构造方法:完成对实例变量赋值 public Student(){ } public Student(String name){ this.name = name; } //属性 String name; //称为非静态属性,也叫做实例变量 //static String address = "北京"; //称为静态属性也叫做类的变量 static String address; //称为静态方法也叫做类的方法 public static void print2(){ } public static void print(){ System.out.println("执行了print方法"); //System.out.println(name); //静态方法中只能访问静态属性、静态方法 System.out.println(address); print2(); } //称为非静态方法也叫做实例方法 public void show(){ System.out.println("执行了show方法"); System.out.println(name); System.out.println(address); print(); } }