设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
一个关于接口的很傻的问题
返回列表
发新帖
一个关于接口的很傻的问题
[复制链接]
11
|
8
|
2006-9-26 17:30:03
|
显示全部楼层
|
阅读模式
public interface I {
public void aaa();
}
接口I定义了一个方法aaa();
类A实现这个接口,并且增加了自己的一个方法
public class A implements I
{
public void aaa()
{
System.out.println("this is aaa"
;
}
public void bbb()
{
System.out.println("this is bbb"
;
}
}
客户断调用
public static void main(String[] args) {
I a = new A();
a.aaa();//没问题
a.bbb();//编译失败
}
如果想要用bbb方法,只能写成
((A)a).bbb();
那么,在这里,我们为什么要使用接口呢
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
a.bbb();这里是不能用接口的哦,接口不是为这个来设计的,它是为了将不同类型的对象的相同功能归纳在一起而创造的
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
是啊,我的疑惑就是如果定义了一个接口的话,那么,他的实现就只能局限于接口中定义的方法,而不能有自己的方法;
如果需要有自己扩充的方法,那就只能做成继承
感觉受了很大的限制
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
不是你理解的这样的
你完全可以用对象的引用来做啊
A a = new A();
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
这样就不是 针对接口编程 了么?
不是要 依赖抽象,不要依赖具体么?
不过也是,我们一般都是 hashtable table = new Hashtable()
而不是 Map table = new Hashtable()
再想想...
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
……………………
你并没有理解使用这个东西的意义,和针对接口编程的意义,建议恶补一下
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
汗!的确如此
因为是半路出家,所以很多基础的东西并没有很深的理解
知其然不知其所以然,换了个角度或者问题就迷糊了
所以现在正在从头恶补
还请多多指教,呵呵
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
又想了想,在Java中,接口的作用
1、解决Java中单继承的问题;
2、将不同对象的相同功能抽取出来;
其实第二点,通过抽象类也可以完成,但是由于Java的单根继承的特点,就只能通过接口来解决,否则超类就成了上帝类了。
而从某种意义上来说,实现接口的具体类,就应当只实现接口定义的方法,而不应该扩充出其他的方法;如果一定要扩充
1、扩充接口的方法
2、如果这个方法是具体类特定的方法,那么可以将此方法定义在另外的接口,然后来实现
3、如果不想再增加接口,就使用具体类本身,象4楼的做法
而针对接口编程,是否应该这样理解:
在方法返回值、参数传递类型时候,尽量使用接口而不是具体类
那么,就要求我们的代码尽量使用上面的第1和2两种方法,而不是3
不知道是否正确,请大家指正
回复
使用道具
举报
千问
|
2006-9-26 17:30:03
|
显示全部楼层
其实在程序设计方面的话,楼上的做法会把一个简单的问题复杂化,这种问题的解决办法是有个模式是compise,可以比较简单的实现。在实际中,多接口的implements是要避免的,否则会造成理解的困难。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
上次二十五号来的大姨妈以后第二个月十七…
2
门牙做了全瓷牙后,发现牙痛
3
银川老是不怀孕怎么回事
4
卵巢囊肿疑似巧克力囊肿想让确认一下到底…
5
我是胰腺炎后血糖增高饭后两小时血糖10
6
患有先天性尿道口下列,用红霉素软膏涂抹有用吗
7
肺两边模糊是怎么回事
8
一星期没有一回,怎么回事
9
各位医生,请问家里刚刷了涂料,新买的家
10
咳嗽很严重,胃疼,大便有血,像是已经干
11
我有些口吃,我想问下有什么药可以治疗吗
12
女急性尿道炎该吃什么药?尿痛,尿频,小
13
上次说月经提前四天,每次痛经有血块,我吃
14
激光去痣好还是手术好
15
你好我怀孕前后都吃了感冒药,请问这孩子
16
我想求助一下我爸肺结核但是对西药过敏,…
17
银川老是不怀孕是怎么回事
18
15天左右时间,我的左腹部皮痛一小块,
19
下面的牙齿有一侧突然往内倾斜,是什么原…
20
大腿内收肌拉伤拉伤到腹部怎样快速恢复
21
大姨妈走了15天又来了小腹有些疼昨天晚
22
15包皮,需不需要做手术。。。。。。啦
23
我是11月26号有性生活,而且是在排卵
24
孩子两个多月了,七天没解大便了,正常吗?
25
最近性生活时间短,龟头太敏感了。是咋回
26
南昌看鼻窦炎治疗多少钱
27
同房后一天如果怀孕会有什么反应
28
吃了左炔诺孕酮肠溶片后能打阿奇霉素和盐…
29
不知道吃了什么东西,只要一挺身就会想呕
30
男,24,有尿急,尿失禁现象。并无其他
31
眼睛恶性淋巴瘤有治愈可能吗?花费多少
32
月经推迟了十几天医生开了药,我想问一下这
33
孩子14个月,白天睡觉一般两个小时左右,
34
我大便为什么总是青菜绿色?
35
腰椎间盘突出,腰疼右腿麻的厉害,核磁共…
36
口臭,舌苔白厚,嘴干,梦多,做爱时间短,
37
十二月九日办事吃了避孕药十号是月经最后…
38
激光去胎记要多少钱
39
大夫你好!我的肚肌眼流水,但是不臭,是
40
南昌鼻窦炎治疗手术
41
银翘解毒颗粒,咽炎片,鼻渊通窍颗粒可以
42
咨询是否患上鼻炎总流鼻涕不感冒也是
43
外阴瘙痒,白带到内裤上呈黄色状
44
银川老婆一直不怀孕
45
你好,我们股骨头坏死,要怎么治疗
46
咳嗽持续久会引起发烧吗?
47
十年前得过肺癌,检查出来第二年肺癌转移…
48
女,32岁。乳腺增生,脂肪肿块,今期乳
49
银川精子活力低如何治疗
50
二胎刨妇产十多天了,刀口那里还会疼,主…
51
嘴里有个包,不疼不痒的
52
嗯,就是我就使用了一次,说是让我做一个
53
患者女性,79岁,无高血压,无糖尿病,
54
腿上的汗毛长不出来,都是小黑点,怎么办?
55
我脸上右脸起痘痘了,外面红肿里面有硬块,
56
刚开始检查疑似巧克力囊肿后来检查是卵巢…
57
医生,你好!我这段时间失眠,多梦,记忆
58
性别男,今年十八岁,性爱只有二、三分钟…
59
宝宝缺血脑缺氧,医生叫做三个疗程高压氧…
60
淋球菌感染用什么药治疗好?
61
你好!医生,我脸上一直不停地长白头黑头…
62
怀孕,肚子增大,肚脐眼突出,里面黑色的
63
宝宝不咳嗽,可是他的嗓子感觉有痰堵着,…
64
我是11月26号有过性生活,而且是在排
65
ll月1日来月经5日干净,20日至30
66
你好,医生,身上腿上脖子上,最近起了好多
67
大腿上有一块肌肉会疼,麻麻的,有时候嘞
68
胃里长了两个东西,医生说豌豆大小,这个
69
银川老婆不能生育怎么办
70
银川精子活力低原因
71
我妈今年45岁脸上长了黄褐斑,排毒养颜
72
大便有点干,而且是块状。肛门口有点痛,…
73
请问嘴下巴红色起白色皮是什么原因?开始
74
白带发黄有血丝医生给我开苦参凝胶,用了之
75
您好,我体检平均红细胞计数结果显示7.
76
宝宝最近全身都长了红点点头上的比较严
77
喝红花治痛经会不会起疹子
78
产后六个多月:每个月来月经头三天量多且
79
怀孕37周5天脐带绕颈两周有什么好办法
80
防蓝光眼镜有用吗??
81
女,20岁,月经不调,有宫寒,肠炎,怎
82
十天之内吃两次避孕药那么这第二次吃会…
83
我妈今天给孙子师范做翻跟头的动作不小心…
84
我家孩子身上老出水泡,谁能告诉我怎么回
85
银川精子活力低
86
我18岁了,只有160厘米,我25岁差
87
你好张医生,我只是走路晕,血液检查没有
88
月经完了之后半个月又来了一点,但是几个
89
女,16岁,最近总是嘴唇开裂
90
根据彩超片子初步估计是什么病
91
银川老婆不能怀孕怎么办
92
以前经期是七天,现在是十五才干净,意思
93
我三十号左右来的月经,到这个月十六号又
94
男,18岁,磨牙是一种病吗?需要治疗吗?
95
怎么科学的生男孩
96
医生怀疑我父亲肺部有问题,内部有发炎!
97
你好医生请问孩子一直间断性咳嗽已有半…
98
今天做针灸的时候,针刺扎在右脚跟腱左边…