static 关键字详解
1.静态属性
package cn.itcast.demo04;
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);//静态变量才可以用类名
}
}
2.静态代码块
package cn.itcast.demo04;
public class Person {
{//作用:赋初始值
System.out.println("匿名代码块");
}
static{//只执行一次
System.out.println("静态代码块");
}
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Person p = new Person();
System.out.println("··················");
Person p2 = new Person();
}
}
执行顺序:
静态代码块
匿名代码块
构造方法
···············
匿名代码块
构造方法
3.静态包
package cn.itcast.demo04;
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test {
public static void main(String[] args) {
// System.out.println(Math.random());导包前的用法
System.out.println(random());
System.out.println(PI);
}
}