Java - 如果您可以扩展任何类,那么抽象类的意义何在?

标签 java interface abstract-class extends

<分区>

所以抽象类可以扩展,但是任何类都可以吗?那么,为什么一些特定的类是抽象的,而另一些不是?

此外,我试图弄清楚,但我总是很困惑,但接口(interface)和抽象类之间的实际区别是什么?

感谢任何能帮我解决这个问题的人!

最佳答案

一个接口(interface)只能描述方法签名,例如

public void add(int a, int b);

实现它的类必须定义该方法。

抽象类只能被继承,但仍然可以定义方法:

public void add(int a, int b) {
    return a+b;
}

任何实现它的类都可以使用该方法。抽象类也可以实现 final 方法,因此它们永远不会被扩展它的类重新实现。

关于Java - 如果您可以扩展任何类,那么抽象类的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097481/

相关文章:

java - 将 Logger.info 放在静态 block 中

java - 按字符串中的第二个单词对 ArrayList 进行排序

java - 即使是单个学生或单个类(class),返回集合或集合的接口(interface)是一个好习惯吗?如果是,为什么?

java - 使用 Spring Boot 将抽象参数传递给 requestMapping 函数

c++ - 抽象类(接口(interface))中的运算符重载

java - 初始化抽象类的一般变体

java - out.absolute.dir 在 Linux 中是什么意思?

java - 尽管包含必要的语法,但无法在 Android 应用程序中查看导航栏

java - 可选作为返回类型

go - 使用接受 io.Writer 作为 HandleFunc 的函数