带有static的方法,其实既可以采取类名的方式,也可以采取引用的方式访问
但是采用引用,实际上访问的时候和引用的对象无关
所以带有static的方法建议使用类名的方式访问
什么时候成员变量使用静态变量?
所有对象这个属性的值都是一样的时候,节省内存开销
静态代码块——类加载时期
public class Constract {
static {
System.out.println("1");
}
static {
System.out.println("2");
}
static {
System.out.println("3");
}
public static void main(String []args) {
System.out.println("main");
}
}
静态代码块在类加载的时候执行一次,并且只执行一次,遵循自上而下的顺序依次执行。
可以用于记录日志,比如哪个具体时间类加载。完成一些准备工作。
实例代码块
public class Constract {
{
System.out.println("1");
}
{
System.out.println("2");
}
{
System.out.println("3");
}
public static void main(String []args) {
System.out.println("main");
new Constract();
}
}
遵循自上而下的顺序依次执行
实例代码块在构造方法之前执行,构造方法执行一次,实例代码块执行一次
静态代码块执行在实例代码块之前