static
public class Student {
private static int age; //静态变量
private double score; //非静态变量
public void run(){
}
public static void go(){
}
public static void main(String[] args) {
Student student=new Student();
System.out.println(Student.age);
// System.out.println(Student.score); 报错
System.out.println(student.age);
System.out.println(student.score);
//下面是因为类的加载顺序
Student.go();
// Student.run(); 报错
new Student().go();
new Student().run();
go();
//run(); 报错
}
}
匿名代码块、静态代码块、构造方法的执行顺序
public class Person {
//second
{
System.out.println("匿名代码块"); //可以在这里赋初始值
}
//first 只执行一次
static {
System.out.println("静态代码块");
}
//third
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person=new Person();
System.out.println("=================");
Person p1=new Person();
}
}
输出:
静态代码块
匿名代码块
构造方法
=================
匿名代码块
构造方法
静态导入包
System.out.println(Math.random()); //0-1随机数
//也可以这样,不过需要静态导入包 import static java.lang.Math.random;
System.out.println(random());
final定义的类:不能被继承