菜鸟问个关于接口和继承的问题
现有一个接口 A,B类实现了A接口且继承了C,假如C中有某个方法 test() 如果直接C c =new C();c.test()的话可以调用这个方法,但是想通过接口A :A c = new C(),调用这个方法,怎么做呢?
现有一个接口 A,B类实现了A接口且继承了C,假如C中有某个方法 test() 如果直接C c =new C();c.test()的话可以调用这个方法,但是想通过接口A :A c = new C(),调用这个方法,怎么做呢?
调试欢乐多
一样阿,
A c = new C();
c.test();就行了。
运行时多态啊
可以吗?这样写好像会报错啊,提示类型A中没有定义test这个方法
如果如果接口A中没有定义test()方法,就不行了。
与final没有关系啊
我也是个菜菜,只是个人的想法
我的意思是如果不是final类型的话就可以在接口A中定义test(),然后在C中重写这个方法。
难道现在只能另外定义一个方法,然后在里面调用test吗
A c=new C();是错误的,
因为C没有实现A,不是一个A
故不能在A中调用C的方法
可以改成C实现A,并且A中要有C的方法
谢谢大家了。
A中要有test();方法,然后可以调用 b.test();