设计原则:对于已近投入使用的类尽量不要进行修改,推荐定义一个新的类来重复利用其中的共性内容,并且添加改动新的内容
代码举例:
public class Phone { public void call(){ System.out.println("打电话"); } public void send(){ System.out.println("发消息"); } public void show(){ System.out.println("显示号码"); } }
public class NewPhone extends Phone{ @Override public void show() { super.show(); System.out.println("显示名字"); System.out.println("显示头像"); } }
public static void main(String[] args) { Phone phone = new Phone(); phone.call(); phone.send(); phone.show(); System.out.println("==========="); NewPhone newPhone = new NewPhone(); newPhone.call(); newPhone.send(); newPhone.show(); }
图
继承中构造方问的特点
继承关系中,父子类构造方法的访间特点:
子类构造方法当中有一个默认隐含的“super()"调用,所以一定是先调用的父类构造,后执行的子类构造。
子类构造可以通过super关键字来调用父类重载构造。
super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。
总结:
子类必须调用父类构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,
public Fu(int num){ System.out.println("父类构造方法!"); }
public class Zi extends Fu{
public Zi(){
super(10);
super();
System.out.println("子类构造方法");
}
}