其目的就是为了要共享;
如何调用?
类名.变量名
public class Student { static String schoolName; public static void main(String[] args) { // TODO Auto-generated method stub Student stu1=new Student(); Student stu2=new Student(); Student.schoolName="天津仁爱学院"; System.out.println("我是"+stu1.schoolName+"的学生"); System.out.println("我是"+stu2.schoolName+"的学生"); } }
static 关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错。
调用方法:类名.方法 or 实例对象名.方法
public class Student { public static void say() { System.out.println("hello"); } public static void main(String[] args) { // TODO Auto-generated method stub //类名.方法调用 Student.say(); //实例化对象 Student stu=new Student(); stu.say(); } }
class Student { static { System.out.println("执行了Student类中的静态代码块"); } } public class PersonStatic { static { System.out.println("执行了PersonStatic中的静态代码块"); } public static void main(String[] args) { // TODO Auto-generated method stub //实例化两个对象 Student p1=new Student(); Student p2=new Student(); } }
静态代码块中的内容只输出了一次,这就说明静态代码块在类第一次使用时才会被加载,并且会加载一次。