Statics
package oop01.demo03;
public class Student {
//静态属性
private static int age;//静态的变量
private double score;//非静态的变量
public static void main(String[] args) {
Student s1 = new Student();
System.out.println(s1.score);
System.out.println(s1.age);
System.out.println(Student.age);//static !!!
}
}
package oop01.demo03;
public class Student01 {
//静态方法
public void go(){
System.out.println("go");
run();
}
public static void run(){//static和类一起加载的
System.out.println("run");
//无法调用go方法
}
public static void main(String[] args) {
run();
Student01.run();
Student01 student01 = new Student01();
student01.go();
}
}
package oop01.demo03;
public class Person {
//2
{
System.out.println("匿名代码块");
}
//1
static {
System.out.println("静态代码块");
}
//3
public Person() {
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person1 = new Person();
System.out.println("=============");
Person person2 = new Person();
}
}
结果:
静态代码块
匿名代码块
构造方法
=============
匿名代码块
构造方法
Process finished with exit code 0
静态导入包
package oop01.demo03;
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}