level 11
有一个接口A,它有一个实现类B。
有一个工厂类Factory,里面有一个方法 get(){return new B;}
以前创建B的对象都是 A b = new Factory.get();
今天见到一个 A b =
(A)(new Factory.get());怎么解释/理解?
2012年11月28日 08点11分
1
吧务
level 15
B也是A啊,不过你只能调用A中有的方法,B特有的方法无法调用除非再强转成B。。。
不过既然是用接口,那就是说接口中的方法够用了。。。
2012年11月28日 09点11分
5
是不是只能调用B中实现的A中的方法,不能调用B中另外的方法?如果是这样,我的疑问就完全没有了
2012年11月28日 12点11分
回复 JAVA羊 :是的,因为引用是A类型。引用是啥类型,就只能调用该型和它的父类的方法。。。
2012年11月28日 12点11分
level 12
如果A接口方法够用,就用A。就好像父亲有100元,你可以用,你自己赚外快50元也可以花。强转后只能用A的100元,不能用B的50元。
2012年11月28日 11点11分
7
明白了,谢谢
2012年11月28日 12点11分