夜深了 来问个比较2的问题
abstract类里写private方法 有意义吗
[解决办法]
有意义。
可以给base class 实现的方法提供服务。abstract class只是不能被instantiate但可以给继承类提供服务(define method) .
[解决办法]
至少是可以这么写的,把非abstract方法写了private就好了。至于意义就不好说了,一般也确实见的少,重点都集中在抽象方法上了。
[解决办法]
abstract class Base{ public void service(){ process(); clear(); } //我们只想让子类改写这个方法 public abstract void process(); private void clear(){ //这个方法,我们不想被子类改写 System.out.println("释放资源!"); }}class Sub extends Base{ public void process(){ System.out.println("做业务逻辑处理!"); }}class Test{ public static void main(String args[]){ Base sub = new Sub(); sub.service(); //这么做,Base的子类只需要关心业务逻辑处理,又不会忘掉做一些释放资源之类的操作, //这就是一种典型的“模板模式” }}
[解决办法]