package test; class SuperClass{ private int n; SuperClass(){//构造方法 System.out.println("SuperClass()"); } SuperClass(int n){//重载的构造方法 System.out.println("SuperClass("+n+")"); this.n = n; } } class SubClass extends SuperClass{ private int n; SubClass(int n){ //没写super,系统默认调用父类无参数的构造方法 //相当于super(); System.out.println("SubClass("+n+")"); this.n = n; } SubClass(){ //在子类的构造过程中必须调用其父类的构造方法 super(300);//调用的是第二个构造方法 System.out.println("SubClass()"); } } public class Test{ public static void main(String args[]){ //SubClass sc1 = new SubClass(); //如果子类的构造方法发中没有显示地调用父类构造方法, //则系统默认调用父类无参数的构造方法 SubClass sc2 = new SubClass(400);//调用子类的第一个方法 } }
继承中的构造方法
猜你喜欢
转载自ztao2333.iteye.com/blog/2286693
今日推荐
周排行