对象14:static关键字详解 package oop.Demo08;
//static : public class Student {
代码语言:javascript复制private static int age; //静态的变量
private double score; // 非静态的变量
public void run(){
}
public static void go(){
}
public static void main(String[] args) {
Student s1 = new Student();
System.out.println(Student.age);
System.out.println(s1.age);
// System.out.println(Student.score); 报错,非静态,非实例
System.out.println(s1.score); //s1实例化了可以直接调用
Student.go();
s1.go();
s1.run(); // new Student().run()
}
} package oop.Demo08;
代码语言:javascript复制//运行编译,会优先运行先后顺序: 静态代码块、匿名代码块、构造方法
public class Person {
代码语言:javascript复制{
//代码块(匿名代码块) 一般用于赋初值
System.out.println("匿名");
}
static {
//静态代码块 ,只执行一次
System.out.println("静态");
}
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Person person1 = new Person();
System.out.println("======================");
Person person2 = new Person();
}
/*
最终运行结果:
静态
匿名
构造方法
======================
匿名
构造方法
*/
} package oop.Demo08;
import static java.lang.Math.random; //静态导入包 import static java.lang.Math.PI; //静态导入包
public class test {
代码语言:javascript复制public static void main(String[] args) {
System.out.println(Math.random()); //没有加入静态导入包时,即没有加import这两句代码
//加入了静态导入包
System.out.println(random());
System.out.println(PI);
}
}