abstract final class Outer {
}
所以我正在编译上面的代码并且出现了明显的错误,但是错误是访问修饰符的非法组合,但是java doc http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html说只有3个访问修饰符(public,private和protected)所以这些abstract,final,public,private和protected是访问修饰符或访问说明符还是其他东西?因为在许多书籍和网站中,他们提到这些关键字有时是访问修饰符,有时是访问说明符。我在这里很困惑。
答案 0 :(得分:3)
在类声明的上下文中,根据JLS #8.1.1,这些都是类修饰符。
如果你进一步阅读,你会看到只有public,private和protected是访问修饰符(这是有意义的:它们确定该类是否可以从代码的其他部分访问)。
所以是的,技术上,抽象和最终不是访问修饰符,错误消息可能更精确。请注意,javac(Java 8)错误消息为:
修饰符的非法组合:抽象和最终