实施与扩展:何时使用?有什么不同?
请用一种易于理解的语言或一些文章的链接进行解释。
回答:
extends
用于扩展课程。
implements
用于实现接口
接口和常规类之间的区别在于,在接口中不能实现任何已声明的方法。只有“实现”接口的类才能实现方法。接口的C ++等效项将是一个抽象类(不完全相同,但差不多)。
同样,java不支持类的多重继承。这可以通过使用多个接口来解决。
public interface ExampleInterface { public void doAction();
public String doThis(int number);
}
public class sub implements ExampleInterface {
public void doAction() {
//specify what must happen
}
public String doThis(int number) {
//specfiy what must happen
}
}
现在延伸一堂课
public class SuperClass { public int getNb() {
//specify what must happen
return 1;
}
public int getNb2() {
//specify what must happen
return 2;
}
}
public class SubClass extends SuperClass {
//you can override the implementation
@Override
public int getNb2() {
return 3;
}
}
在这种情况下
Subclass s = new SubClass(); s.getNb(); //returns 1
s.getNb2(); //returns 3
SuperClass sup = new SuperClass();
sup.getNb(); //returns 1
sup.getNb2(); //returns 2
另外,请注意,@Override实现接口不需要标记,因为原始接口方法中没有任何内容可以覆盖
我建议您对面向对象程序设计中的动态绑定,多态性和一般继承性进行更多研究
以上是 实施与扩展:何时使用?有什么不同? 的全部内容, 来源链接: utcz.com/qa/402137.html