您的位置:首页 > 编程语言 > Java开发

java 显示调用和隐式调用 示例

2018-03-26 21:14 190 查看
/** *  java 显示调用和隐式调用 * @author raytseng * */class grandfather {  public grandfather() {   System.out.println("调用grandfather的无参构造函数");  }  public grandfather(String name) {   this();//调用无参构造函数   System.out.println("调用grandfather的带一个参数的构造函数 name:"+name);  }  {   //非静态初始化块   System.out.println("调用grandfather的非静态初始化块");  }}
 class father extends grandfather{ public father() {  System.out.println("调用father的无参构造函数"); } public father(String name) {   super(name);  //显示调用父类构造函数 System.out.println("调用father的带一个参数的构造函数 name:"+name);   } public father(String name,int age) { this(name);  //显示调用当前类的其他构造函数 System.out.println("调用father的带两个参数的构造函数 name:"+name+" age:"+age); } {   //非静态初始化块   System.out.println("调用father的非静态初始化块");   } }  class son extends father{ public son() { super("tseng", 28);//显示调用父类构造函数 System.out.println("调用son的无参构造函数"); } public son(int height) { this();  //显示调用当前类的其他构造函数 System.out.println("调用son的带新的参数构造函数: "+height); } {   //非静态初始化块   System.out.println("调用son的非静态初始化块");   }   } 

//测试类
public class initTest { public static void main(String[] args) { new son(126); }  }

从上到下依次调用为下面所示:
调用grandfather的非静态初始化块调用grandfather的无参构造函数调用grandfather的带一个参数的构造函数 name:tseng调用father的非静态初始化块调用father的带一个参数的构造函数 name:tseng调用father的带两个参数的构造函数 name:tseng age:28调用son的非静态初始化块调用son的无参构造函数调用son的带新的参数构造函数: 126
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: