一下只是个人理解,谈不上什么经验,我也是个学生,大家共同讨论一下吧。
我觉得接口就像一个模具,通过实现一个或者多个借口(也是因为在java中没有多重继承机制,用接口来弥补一下)来达到你的目的。
至于抽象类,我的理解适当你希望子类继承父类的时候需要子类必须实现这个类中的抽象方法时用到。
说的不一定很正确,希望别见笑。
我觉得接口就像一个模具,通过实现一个或者多个借口(也是因为在java中没有多重继承机制,用接口来弥补一下)来达到你的目的。
至于抽象类,我的理解适当你希望子类继承父类的时候需要子类必须实现这个类中的抽象方法时用到。
说的不一定很正确,希望别见笑。
解决方案 »
- 我是一个学生,目前只学习了C,C++,java,我想设计一个软件参加比赛,现在还没有一点想法,求高人指点
- JAVA问题请教
- JTree里能加图标吗?
- 推荐一个好论坛
- 像一个小区车辆管理系统这样的程序,如果画流程图,是不是要按照各个功能分着来画啊?
- 关于jcreator运行出错
- 谁有完整的在线游戏代码啊?
- Java基础问题,关于静态方法Static的问题,希望您能耐心帮我解答!谢谢!!!
- Runtime.getRuntime().exec("winword.exe") error=2 ???
- 有关applet的一个小问题。
- 在JTree中设置TreeCellRenderer字体尺寸变大后,节点就显示不完整了,怎么办?
- select count(DISTINCT tr_code, tr_date) from serial_no为什么出错??
抽象类表述的是一种类的层次关系,就象类shape的draw方法,shape有一些子类,如rect,round.
两种东西的画法肯定是不一样的,但是shape本身还是有一些共通的东西,如属性color,方法setColor()等,这样就可以把shape做成一个抽象类,把draw方法设成抽象的.
接口不表属层次,他比抽象类灵活,也是因为没多重继承的原因,
抽象类表现的是一种泛化的关系,接口只规定了类的一个对外表现的统一方法.
实践中用接口比抽象类要用的多,建议多用接口
除非是像shape和round,rect这种关系,而且你抽象出来的公共部分,有一些共有的属性,有具体实现完全相同的方法,用抽象类,其余的用接口把
一家之言,欢迎高手指正
我自己又思考了一下,实际上我自己提问的时候没有想清楚. 抽象类也好,接口也罢.这些定义本身的一些使用原则不难理解. 我的困惑可能还是在对面向对象思想的理解上.对于一个具体应用系统来说,同样用java,jsp,你可以象传统的结构话的方式设计,可以不用借口,继承等面向对象的方法.但是使用面向对象的方法,自己感觉在设计结构,设计类的时候会感觉无从下手.