请用一种易于理解的语言或一些文章的链接进行解释。
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实现接口不需要标记,因为原始接口方法中没有任何内容可以覆盖
我建议您对面向对象程序设计中的动态绑定,多态性和一般继承性进行更多研究
问题内容: 今天打开了LinkedHashSet源代码,发现了一些有趣的东西: 问题是:为什么当HashSet已经是Set时,为什么它们既需要“ extends HashSet”又需要“ implements Set”? 问题答案: 我问过乔什·布洛赫(Josh Bloch),他告诉我这是一个错误。很久以前,他曾经认为其中有一些价值,但是他自从“看到了光”。显然,JDK维护人员认为以后不应该撤消此
问题内容: 在Java中,您可以执行以下操作: 在Kotlin中可以做同样的事情吗?假设是抽象的并且没有实现 问题答案: 接口实现和类继承之间在语法上没有区别。只需列出冒号后用逗号分隔的所有类型,如下所示: 禁止多个类继承,而单个类可以实现多个接口。
我试图找出扩展Thread类的可能优势是什么? null
我正在研究数据结构,我被要求编写一个程序,允许商店经理使用4个类来操作库存:ListInterface、ExpandableArrayList(实现该接口的类)、class item(存储在Arraylist中的类型),当然还有Test类。 有些方法需要使用compareTo。也就是说,具有可比性,但我不知道什么阶级应该具有可比性?我是否应该编写可比较的实现或扩展? 以下是我现在拥有的类标题: 但
扩展是可定制化浏览体验的小程序,它们使用户可以根据个人需要或者偏好定制 Chrome 的功能和行为。它们基于 Web 技术(例如 HTML,JavaScript 和 CSS)构建。 扩展必须满足狭义定义且易于理解的单一目的(译者注:功能简单易懂化)。一个扩展可以包括多个组件和一系列功能,只要所有的内容都有助于实现共同的目标。 用户交互界面应尽量小且有意图。他们的范围从简单的图标,如右侧显示的 Go
问题内容: 我想在AJAX和常规HTTP调用之间共享一个模板,唯一的区别是一个模板需要与base.html html一起提供,而另一个则不需要。 任何想法? 问题答案: 使用变量。 然后在您的视图中将其设置为“ base.html”,或者将其设置为一个新的“ ajax.html”文件,该文件仅提供该阻止,而没有其他内容。