首页 新闻 会员 周边 捐助

接口怎么实例化呢?

0
悬赏园豆:10 [已关闭问题]

接口怎么实例化呢?

 

有一个类 A 实现了 接口 IA,然后我想在B中调用 A 中的方法,请问一下怎么实例化IA后可以调用了呢?

 

谢谢啦~~~

问题补充: 最近我突然发现,长时间的休息后,大脑开始严重退化!!!
Dhoopu的主页 Dhoopu | 初学一级 | 园豆:10
提问于:2009-09-28 14:17
< >
分享
其他回答(6)
0

IA a = new A();

然后可以通过a来调用你的接口方法了

李.net | 园豆:730 (小虾三级) | 2009-09-28 14:18
1

B是什么?又一个类?

如果b是新类的话,你又要调用a中的方法〔是a而不是IA接口的〕,你就只能是继承a类了。

如果是在b类中调用a类的方法,如楼上 IA a = new A(); 〔只能调用接口IA方法,不能调用a的方法〕

邢少 | 园豆:10926 (专家六级) | 2009-09-28 14:48
0

 一楼正解

Mountain King | 园豆:55 (初学一级) | 2009-09-28 15:57
0

一楼

wuhan | 园豆:11 (初学一级) | 2009-09-28 16:29
0

只能用接口来实例化类,不能实例化接口的。

咒语 | 园豆:192 (初学一级) | 2009-09-28 18:04
0

1 楼正解!接口是不能够被实例化的,只有去实例化它的实现类!

 

 IA a = new A();  A a = new A();   都可以!

糊涂而已 | 园豆:135 (初学一级) | 2009-09-28 18:31
0

1楼说的对。我补充下。有个问题:你仅仅是要实例化接口吗?

在spring中“控制反转”和“依赖注入”对外表现的就是实例化接口,那只是假象。接口是不能实例化的,或者说,接口只是规则,没有具体的形态,自然不可能是对象,想对它实例化,想都不要想。

你要是不想创建实例化的类,也就是一楼的“A”,可以借鉴“代理模式”,自动为你需要“实例化的接口”创建实例化的类。这个有点复杂,我也不是很懂,不过我仔细想过,理论上可行。

liyuanyuan | 园豆:195 (初学一级) | 2009-10-05 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册