读书人

夜深了 来问个比较2的有关问题

发布时间: 2012-03-25 20:55:16 作者: rapoo

夜深了 来问个比较2的问题
abstract类里写private方法 有意义吗

[解决办法]
有意义。
可以给base class 实现的方法提供服务。abstract class只是不能被instantiate但可以给继承类提供服务(define method) .

[解决办法]
至少是可以这么写的,把非abstract方法写了private就好了。至于意义就不好说了,一般也确实见的少,重点都集中在抽象方法上了。
[解决办法]

Java code
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的子类只需要关心业务逻辑处理,又不会忘掉做一些释放资源之类的操作,        //这就是一种典型的“模板模式”    }}
[解决办法]
探讨
对Java一些概念还不是很了解 谢谢大家的回答 还有个疑惑
抽象类里的抽象public方法在继承的子类里进行重写 给我感觉和接口类-->实现类这种差不多
有什么区别吗

[解决办法]
探讨

引用:
引用:
对Java一些概念还不是很了解 谢谢大家的回答 还有个疑惑
抽象类里的抽象public方法在继承的子类里进行重写 给我感觉和接口类-->实现类这种差不多
有什么区别吗

抽象类的部分方法已经实现了.
而接口中的方法都是抽象方法.

也就是说抽象类的范围比接口要大么

读书人网 >J2SE开发

热点推荐