1、如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法
2、代码输出结果:100
300
字段初始化的规律就是若没有给新创建的变量赋初值,自动调用默认的构造函数给其赋初值,如果自行赋值,便是所赋值。
3、运行结果
Root的静态初始化块
Mid的静态初始化块
Leaf的静态初始化块
Root的普通初始化块
Root的无参数的构造器
Mid的普通初始化块
Mid的无参数的构造器
Mid的带参数构造器,其参数值:Java初始化顺序演示
Leaf的普通初始化块
执行Leaf的构造器
分析:先调用父类的静态初始化块,在调用子类的静态初始化块,调用完静态初始化块之后,分别调用父类的普通初始化块和构造器,在分别调用子类的普通初始化块和构造器。
4、想在静态方法中访问类的实例成员可以在方法里先定义一个静态对象,这样这个静态方法就可以访问类的实例成员了。
5、查看创建了多少个对象
代码实现:
public class Objictnumber
{
int number;
public Objictnumber()
{
++number;
System.out.println("目前创建了"+number+"个对象");
}
public static void main(String[]args)
{
@SuppressWarnings("unused")
Objictnumber obj=new Objictnumber();
}
}
原文:http://www.cnblogs.com/zhaoziming/p/5984185.html