**Static关键字**
**在定义一个类的时候,只是描述事物的属性和行为,并没有产生具体的数据。只有通过new关键字具体实例化对象后,系统才会为为每个对象分配储存空间,储存数据。**
**静态变量**
被static 修饰的成员变量,该变量称为静态变量,它可以被所有实例所共享。
定义
public class C2 { static String name;//定义一个静态变量 }
public class C3 { public static void main(String[] args) { C2 a = new C2(); C2 b = new C2(); C2.name = "河南"; System.out.println(a.name); System.out.println(b.name); } }
C2中定义了一个静态变量name,它被所有实例所共享。
**static关键字只能修饰成员变量****,**不能修饰局部变量****
静态方法
静态方法的定义
在方法前面加上一个static关键字就行
在使用时,静态方法可以通过一下两种方式访问。
类名.方法
实例对象名.方法
public class C4 { public static void main(String[] args) { //类名.方法 C3.say(); //实例化对象 /* C3 c3 = new C3(); c3.say(); */ } }
**静态代码块**
在java类中,用{}一对大括号围起来的若干行代码被称为代码块,用static修饰的代码块叫静态代码块
static{
代码
}
当类加载时,静态代码块会执行,由于类只加载一次,因此静态代码块也执行一次
通常使用静态代码块为类的成员变量进行初始化
public class C4 { static{ System.out.println("执行了C4静态代码块"); } }
public class C5 { static{ System.out.println("执行了测试类的静态代码块"); } public static void main(String[] args) { //实例化两个C4对象 C4 a = new C4(); C4 b = new C4(); } }
2021-03-12 17:27:36
浙公网安备 33010602011771号