static 关键字详解
1.静态属性和静态方法
package opp.Demo04;
public class Student {
private static int age; //静态属性
private double score; //非静态属性
public void run(){}
public static void go(){}
public static void main(String[] args){
new Student().go(); //也可以直接写成go()
run(); //报错,因为run()不是静态方法,需要先创建Student的对象,再通过对象调用
}
}
2.静态代码块
package opp.Demo04;
public class Person {
{
System.out.println("匿名代码块");
}
//静态代码块只执行一次
static{
System.out.println("静态代码块");
}
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Person p1 = new Person();
System.out.println("====================");
Person p2 = new Person();
}
}