//InitializationTest.java
package foldConstructor;
// //父类的定义
class Parent {
int pm1;
int pm2 = 10;
int pm3 = pmethod();
{
System.out.println("Parent's instance initialize block");
}
public static int spm1 = 10;
static {
System.out.println("Parent's static initialize block");
}
Parent() {
System.out.println("Parent's default constructor");
}
static void staticmethod() {
System.out.println("Parent's staticmethod");
}
int pmethod() {
System.out.println("Parent's method");
return 3;
}
}
class Child extends Parent {
int cm1;
int cm2 = 10;
int cm3 = cmethod();
Other co;
public static int scm1 = 10;
{
System.out.println("Child's instance initialize block");
}
static {
System.out.println("Child's static initialize block");
}
Child() {
co = new Other();
System.out.println("Child's default constructor");
}
Child(int m) {
this();
cm1 = m;
System.out.println("Child's self-define constructor");
}
static void staticmethod() {
System.out.println("Child's staticmethod");
}
int cmethod() {
System.out.println("Child's method");
return 3;
}
}
class Other {
int om1;
Other() {
System.out.println("Other's default constructor");
}
}
public class InitializationTest {
public static void main(String args[]) {
Child c;
System.out.println("program start");
// System.out.println(Child.scm1);
// Child.staticmethod();
c = new Child(10);
Child.staticmethod();
System.out.println("program end");
}
}
//通过java的javap来反汇编:
// javap -c -classpath . Child
博客给出了Java代码示例,定义了父类Parent、子类Child和类Other,展示了类的初始化过程,包括实例初始化块、静态初始化块和构造函数。还提到通过javap命令对Child类进行反汇编,体现了Java类的构建与反汇编操作。
1138

被折叠的 条评论
为什么被折叠?



