【发布时间】:2016-03-19 13:09:54
【问题描述】:
将包访问级别抽象类的非静态方法设为公共与将其设为受保护时,是否存在任何安全/访问差异?只有扩展抽象类的同一包中的类才能访问非静态方法,对吗?那么,这些非静态方法是公共的还是受保护的,因为抽象类本身对谁可以扩展它进行了限制,这有关系吗?
abstract class MyClass {
protected void myFunction(){
System.out.println("Only child classes can print this");
}
}
abstract class MyClass {
public void myFunction(){
System.out.println("Still, only child classes can print this");
}
}
【问题讨论】:
-
我不这么认为。我很确定我根据 Oracle 文档中的定义了解它们之间的区别,并且我的问题是关于类的访问级别使方法访问级别无意义的特定情况(除了私有)。不过我可能理解错了。
标签: java access-specifier