public class Test {
public static void main(String[] args) {
Student s = new Student();
// 这里执行后打印 打印父类无参数构造函数
// 打印子类无参数构造函数
Student s1 = new Student(1);
// 这里执行后打印 打印父类有一个参数构造函数
// 打印子类有一个参数构造函数
Student s2 = new Student(1, "zhansan");
// 这里执行后打印 打印父类有一个参数构造函数
// 打印子类有一个参数构造函数
// 打印子类两个参数的构造函数
}
}作者: 黑马11期李项京 时间: 2012-5-26 19:19
类初始化时构造函数调用顺序:
(1)初始化对象的存储空间为零或null值;
(2)调用父类构造函数;
(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
(4)调用本身构造函数。
例子:
public class Dollar extends Money{
Rmb r=new Rmb();
public Dollar(){
System.out.println("Dollar is construct!");
}
public static void main(String[] args){
new Dollar();
}
}
class Money{
public Money(){
System.out.println("Money is construct");
}
}
class Rmb{
public Rmb(){
System.out.println("RMB is construct");
}
}
输出结果:
Money is construct
RMB is construct
Dollar is construct!作者: 徐炯 时间: 2012-5-27 01:01
类初始化时构造函数调用顺序:
(1)初始化对象的存储空间为零或null值;
(2)调用父类构造函数;
(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;
(4)调用本身构造函数。
给你提供个经典代码,希望能帮到你!
public class MS_Extends {
public static void main(String[] args) {
//A a = new A();
// B b = new B();
A a = new B();
a.Run();
}