class Insect{
private int i=9;
protected int j;
Insect(){
System.out.println("i="+i+",j="+j);
j=37;
}
private static int x1=print("static Insect.x1.initialized");
static int print(String s)
{
System.out.println(s);
return 47;
}
} public class Bettle extends Insect{
private int k=print("Bettle.k initialized");
public Bettle(){
System.out.println("k="+k);
System.out.println("j="+j);
}
private static int x2=print("static Insect.x2 initialized");
public static void main(String [] args)
{
System.out.println("Bettle constructor");
Bettle b=new Bettle();
}
} 谁能帮忙详细讲解一下它的执行顺序及原理,顺便给标上执行顺序,麻烦各位了!
private int i=9;
protected int j;
Insect(){
System.out.println("i="+i+",j="+j);
j=37;
}
private static int x1=print("static Insect.x1.initialized");
static int print(String s)
{
System.out.println(s);
return 47;
}
} public class Bettle extends Insect{
private int k=print("Bettle.k initialized");
public Bettle(){
System.out.println("k="+k);
System.out.println("j="+j);
}
private static int x2=print("static Insect.x2 initialized");
public static void main(String [] args)
{
System.out.println("Bettle constructor");
Bettle b=new Bettle();
}
} 谁能帮忙详细讲解一下它的执行顺序及原理,顺便给标上执行顺序,麻烦各位了!
解决方案 »
- 关于串口程序打包问题
- 几个关于【抽象类和静态方法】的新人问题
- 纯java工程关于jar包的问题
- 如何在表格中加入JButton对象和为什么下面简短代码并不能显示columnNames数组的内容
- JAVA异常的一个菜鸟问题............
- 在api中查到这个方法,不大明白,请指教"nextInt() 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值"
- HelloWorld没调试出来,同情一下
- 关于用itext创建pdf时候的坐标问题
- 为什么我的IE总是找不到com.sum.java.swing.JScrollPane?
- 【求助】Eclipse application项目选项卡的问题
- 大家求教,wasd的问题。
- 请问正则相关匹配次数问题
----->父类中的非静态变量和构造函数---->子类中的非静态变量和构造函数
原理:作为类先初始化公共属性和公共初始化 然后才是父类初始化和子类初始化
static Insect.x1.initialized (父类Insect的static变量)
static Insect.x2 initialized(子类Bettle的static变量)
Bettle constructor (子类Bettle的static代码块)
i=9,j=0 (父类Insect的构造函数)
Bettle.k initialized (子类Bettle的非静态变量)
k=47 (子类Bettle构造函数)
j=37 (子类Bettle构造函数)
i=9,j=0
Bettle.k initialized k=47
j=37
static Insect.x1.initialized
static Insect.x2 initialized
Bettle constructor
i=9,j=0
Bettle.k initialized
k=47
j=37