假设有一个接口为implementable。另外类implemented 实现了这个接口,接口interface2继承了该接口且添加了一个新的方法。
现在有一个类A,它继承了implemented,并且要实现interface2。它只需实现新的方法newMethod吗?是因为它的父类已经实现了其他两个方法method1和method2吗?可是这两个方法是其父类implemented的,类A只是能访问而已呀、、我有些糊涂了。像各位求教。
- Java code
Interface implementable { method1(); method2();}Class implemented implements implementable { //implementation}Interface interface2 extends implementable { newMethod();}Class A extends implemented implements interface2 { //code}
------解决方案--------------------
class implemented必须实现implementable的两个方法,否则编译不过。
继承interface2的类必须实现三个方法,一个method1(),method2(),newMethod()。
Class A只需要实现一个方法newMethod(),因为父类中的implemented已经实现了 method1();method2();
------解决方案--------------------
对父类里面实现了该接口的两个方法,子类继承了也相当于实现改接口了,子类只要再实现新接口的方法即可,如果你不想使用父类的实现方法,可以自己重写这两个方法,覆盖掉即可。
------解决方案--------------------
测试如下:
结果如下:
---------- JAVA ----------
this is m1
this is m2
this is newm
输出完成 (耗时 0 秒) - 正常终止
方法m1,m2是继承来的,只需要实现新方法newm就可以了
------解决方案--------------------
- Java code
interface a{ void m1(); void m2();}interface b{ void newm();}class aa implements a{ public void m1(){ System.out.println("this is m1"); } public void m2(){ System.out.println("this is m2"); }}public class testa extends aa implements b{ public void newm(){ System.out.println("this is newm"); } public static void main(String[] args){ testa a=new testa(); a.m1(); a.m2(); a.newm(); }}
------解决方案--------------------
类A只是能访问而已
=======Class A 是继承了父类implemented的方法。不只是访问这么简单,如果只是访问,你能这么写吗?
new A().method1();这已经说明method1()方法属于a 这个实例。
------解决方案--------------------
已经拥有了3个方法。。但是newMethond需要实现