抽象类的子类要么是抽象类,要么重写抽象类中所有的抽象方法.下面是我自己对装饰模式代码的改写.
//这就是装饰模式的抽象类.
public abstract class DecoratePhone implements Phone {
// public DecoratePhone() {
//
// }
public abstract void call();
}
//这是具体的彩铃装饰类
public class RingDecorate extends DecoratePhone {
private Phone p;
public RingDecorate(Phone p) {
this.p = p;
}
public void call() {
System.out.println("听彩铃");
this.p.call();
}
}
我并没有方法重写,但是并没有报错,运行结果也是正确的.并且加override与不加运行结果都正确,why?
|
|