补充:static
代码
// static
public class Student{
private static int age; // 静态的变量 多线程
private double score; // 非静态的比那辆
public void run(){
}
public static void go(){
}
// main 方法
{
go();
//-------
Student s1 = new Student();
System.out.println(Student.age); // 类变量
System.out.println(s1.age); // 对象的变量
System.out.println(s1.score);
}
}
// ----------------------
public class Person(){
{
// 创建这个对象的时候就创建了,在构造器之前
// 没有名字,程序不能调用这个模块
// 代码块(匿名代码块)
}
static{
// 静态代码块
// 跟类一加载,就执行,只执行一次
}
}
// ==============================
public class Person(){
{
// 赋初始值
System.out.println("匿名代码块"); //执行顺序:2
}
static{
// 只执行一次
System.out.println("静态代码块"); //执行顺序:1
}
public Person(){
System.out.println("构造方法"); //执行顺序:3
}
}
// 静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test(){
System.out.println(random());
System.out.println(PI);
}