Java 5 或之前的摘要 class
Abstract class in Java 5 or previous
我在一本书(Programmez en Java 5 et 6 中读到,作者是 Claude Delannoy,法语)在 Java 5 及其以前的版本,如果你在 class 中有一个抽象方法,那么这个 class 就是抽象的,并且没有必要在 class.[=13= 之前提到关键字 abstract
]
这个说法是真的吗?我试图找到 Java SE 5 规范,但找不到。
Oracle 发布了可追溯到 Java 6 的 JLS:https://docs.oracle.com/javase/specs/ 我不确定 Java 5 的 JLS 是否在线可用。
也就是说,无论考虑哪个 Java 版本,您的问题都有 the same answer:
Normal classes may have abstract methods (§8.4.3.1, §9.4), that is,
methods that are declared but not yet implemented, only if they are
abstract classes.
这意味着:必须将具有抽象方法的 class 声明为抽象的,否则会出现编译错误。
如果你想做一个class abstract,你需要声明它abstract
,不管你使用的是哪个版本的java。
如果class包含一个抽象方法,那么class也会变成抽象方法,你需要声明class抽象来解决编译问题。
我在一本书(Programmez en Java 5 et 6 中读到,作者是 Claude Delannoy,法语)在 Java 5 及其以前的版本,如果你在 class 中有一个抽象方法,那么这个 class 就是抽象的,并且没有必要在 class.[=13= 之前提到关键字 abstract
]
这个说法是真的吗?我试图找到 Java SE 5 规范,但找不到。
Oracle 发布了可追溯到 Java 6 的 JLS:https://docs.oracle.com/javase/specs/ 我不确定 Java 5 的 JLS 是否在线可用。
也就是说,无论考虑哪个 Java 版本,您的问题都有 the same answer:
Normal classes may have abstract methods (§8.4.3.1, §9.4), that is, methods that are declared but not yet implemented, only if they are abstract classes.
这意味着:必须将具有抽象方法的 class 声明为抽象的,否则会出现编译错误。
如果你想做一个class abstract,你需要声明它abstract
,不管你使用的是哪个版本的java。
如果class包含一个抽象方法,那么class也会变成抽象方法,你需要声明class抽象来解决编译问题。