| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1778 人关注过本帖
标题:学了这么多天了` 感觉自己还是没明白接口的真谛啊`
只看楼主 加入收藏
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:12 
学了这么多天了` 感觉自己还是没明白接口的真谛啊`
实现接口`  无非就是冲着接口内的方法去的吧`
但是接口里都是空方法`
继承过来后还是需要重写``
那还不如直接在要继承接口的类里写上那几个方法来得直接`

要说抽象类的继承`
起码抽象类有可调用的方法可供子类使用`

我知道我理解的不透彻`

还望达人明视~

搜索更多相关主题的帖子: 真谛 感觉 接口 
2009-11-02 10:04
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:20 
接口、抽象类是为了更好的实现程序的扩展而不仅仅是为了复用

甚至可以说使用继承达到的代码复用往往有许多的问题出现,更好的是用组合,设计模式中有个原则:多用组合,少用继承

LZ去读一读设计模式的书籍,就知道接口和抽象类的更真实的用途

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-11-02 10:50
chump345
Rank: 1
来 自:家里蹲大学
等 级:新手上路
帖 子:108
专家分:5
注 册:2007-11-24
收藏
得分:0 
以下是引用freish在2009-11-2 10:50:41的发言:

接口、抽象类是为了更好的实现程序的扩展而不仅仅是为了复用
 
甚至可以说使用继承达到的代码复用往往有许多的问题出现,更好的是用组合,设计模式中有个原则:多用组合,少用继承
 
LZ去读一读设计模式的书籍,就 ...
那接口的实现有什么实际作用呢`
光只定义方法而不去实现` 还是要交给实现他方法的类去实现`  我不如直接将那个类里声明接口里的方法` 而不用去实现接口了`

接口给出这些空方法`实在不知道原因`

凤凰涅磐,浴火重生!

2009-11-02 11:07
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 
接口是一个统一规范,为了将来实现多态而用。你不需要额外钻研,只要知道怎么定义怎么用就行,等你接触了真实的项目。写多了自然就明白了。

感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2009-11-02 11:41
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
介绍你读一本比较有名的书《head first design patterns》(从浅入深设计模式)

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-11-02 12:44
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
以下是引用chump345在2009-11-2 11:07:09的发言:

那接口的实现有什么实际作用呢`
光只定义方法而不去实现` 还是要交给实现他方法的类去实现`  我不如直接将那个类里声明接口里的方法` 而不用去实现接口了`

接口给出这些空方法`实在不知道原因`

所以让你去读一读设计模式嘛
lampeter123 说的《head first设计模式》确实不错!

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-11-02 15:19
yangchch786
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2009-10-25
收藏
得分:0 
我也去读读  是英文版的?
2009-11-02 20:33
xwlking
Rank: 4
来 自:湖南衡阳
等 级:业余侠客
威 望:1
帖 子:97
专家分:279
注 册:2009-11-1
收藏
得分:0 
我和LZ的想法有些不谋而合,呵呵!我也才学了没多久,很多东西都想不明白,有钻牛角尖的感觉。要多做一些示例,需要把书上你能看懂的一些代码亲手敲一次,你会发现敲了以后会懂很多看代码不能很快理解的东西。还有,帮助文档很重要!!

人总需相信自己,人总需依靠自己. ---永远的Beyond---
2009-11-02 21:57
anzi520
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-9-24
收藏
得分:0 
接口就是某个事物对外提供的一些功能的申明
可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点
使用interface关键字定义接口
一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现
切忌:接口中的所有方法必须是public类型或默认类型
接口可以通过关键字extends继承其它接口
引入一个接口用implements关键字
使用接口必须实现接口中的所有方法

由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类

抽象方法必须声明在抽象类中

抽象方法语法:
abstract type method_name(parameter_list);

声明抽象类语法:
    abstract class{…… }
使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节
2009-11-03 22:06
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:0 
有些东西你现在可能一时还不知道为什么这么用
不过不要紧,先记着,等你真的在项目中遇到问题需要用到时
你再回头看就知道为什么这么用的了
个人觉得老钻牛角尖没什么意思,还会打击学习积极性

Java要学的东西好多~~~~~
2009-11-05 14:01
快速回复:学了这么多天了` 感觉自己还是没明白接口的真谛啊`
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023656 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved