关于Java中的abstract与interface的讨论
2009-02-05 17:23
211 查看
学了这么久了,我对这个abstract概念还不怎么清楚..郁闷中!
当我碰到一个abstract的方法时,我不明白这个方法为什么要定义成这样,这样有什么好处,为什么要这样定义...
望在这方面理解的人,分享一下你意见..
网友回复: 这是设计思想方面的问题
简单的理解就是为了更好的实现多态
网友回复: 等你做项目的时候 就理解了
网友回复: abstract修饰的方法,是让他的子类实现的,自身不做实现。这样就似乎定义了一个模版,你也可以把它想象为
一道填空题。比如你在做一个银行系统的时候,要你写一个算利息的程序。而对于利息(本金*利率)中利率的值,根据存款年限的不同,资金的不同,存款方式的不同,利率就不同,所以你没办法,写一个具体的方法来算利率。所以你只能定义一个抽象方法来表示利率,而自身不去实现。根据不同的情况,在子类中实现你的抽象方法,算出利率。
网友回复: 那什么时候用interface什么时候用abstract呢?
网友回复: 现在建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法.假如你不需要刻意表达属性上的继续的话,提倡用接口。
网友回复: 继续往下看,看到interface时比较一下
还是不清楚再往下看
书看完以后再回头看
可能会有些头续了
abstract, interface, inner classs是有些麻烦的
网友回复: lz在此谢谢你们啦...
当我碰到一个abstract的方法时,我不明白这个方法为什么要定义成这样,这样有什么好处,为什么要这样定义...
望在这方面理解的人,分享一下你意见..
网友回复: 这是设计思想方面的问题
简单的理解就是为了更好的实现多态
网友回复: 等你做项目的时候 就理解了
网友回复: abstract修饰的方法,是让他的子类实现的,自身不做实现。这样就似乎定义了一个模版,你也可以把它想象为
一道填空题。比如你在做一个银行系统的时候,要你写一个算利息的程序。而对于利息(本金*利率)中利率的值,根据存款年限的不同,资金的不同,存款方式的不同,利率就不同,所以你没办法,写一个具体的方法来算利率。所以你只能定义一个抽象方法来表示利率,而自身不去实现。根据不同的情况,在子类中实现你的抽象方法,算出利率。
网友回复: 那什么时候用interface什么时候用abstract呢?
网友回复: 现在建议提倡用interface代替abstract类,两者从理论上可以做一般性的混用,但是在实际应用中,他们还是有一定区别的。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法.假如你不需要刻意表达属性上的继续的话,提倡用接口。
网友回复: 继续往下看,看到interface时比较一下
还是不清楚再往下看
书看完以后再回头看
可能会有些头续了
abstract, interface, inner classs是有些麻烦的
网友回复: lz在此谢谢你们啦...
相关文章推荐
- java 基础知识学习 关于abstract interface final
- java abstract class and interface 讨论
- 关于java中的abstract与interface的理解
- java学习笔记--关于interface和abstract的一些思考
- 关于 Java 构造器的一些讨论
- 关于java.util.Vector 或 java.util.Hashtable类过时的讨论
- 关于面试中abstract 和 interface 的区别
- 【讨论】关于Java性能监控的一些记录
- 关于Java的Classloader的讨论收获
- java 中 abstract 与interface的区别
- 关于javascript与java两门语言的讨论
- java关于==与equals的讨论
- java interface和abstract的区别
- java中抽abstract和interface
- solr中一个问题——顺便讨论java中关于中包括main函数以及涉及资源(变量)操作中的类
- JAVA interface 和 abstract 类
- java关于==与equals的讨论
- 关于提高自己Java水平的十大技术讨论
- Difference between Abstract Class and Interface in Java
- 关于提高自己JAVA水平的十大技术讨论