static关键字详解
- 静态代码块
package object;
public class StaticDetail {
//2:赋初值~
{
System.out.println("匿名代码块");
}
//1:只在类加载时,执行一次
static {
System.out.println("静态代码块");
}
//3
public StaticDetail(){
System.out.println("构造方法");
}
public static void main(String[] args) {
StaticDetail staticDetail = new StaticDetail();
System.out.println("===============");
StaticDetail staticDetail1 = new StaticDetail();
}
}
运行结果:
- 静态导入包
在代码中直接调用导入的方法名和属性
package object;
//静态导入包
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class StaticImportPackage {
public static void main(String[] args) {
System.out.println(random());
System.out.println(PI);
}
}
- 静态方法和属性可以通过类名来调用(类名.方法名/属性名),非静态方法和属性只能通过new之后的对象来调用(对象.方法名/属性名)。因为静态方法是类一加载就存在的,而非静态方法是类实例化成对象之后才存在。