如果我没有显式声明,那么方法或实例变量的默认访问修饰符是什么?
例如:
package flight.booking;
public class FlightLog
{
private SpecificFlight flight;
FlightLog(SpecificFlight flight)
{
this.flight = flight;
}
}
此构造函数的访问修饰符是受保护的还是包?同一个包中的其他类(即flight.booking
)是否可以调用此构造函数?
发布于 2015-07-15 01:18:27
来自文档:
Access Levels
Modifier Class Package Subclass World
-----------------------------------------------------
public Y Y Y Y
protected Y Y Y N
(Default) Y Y N N
private Y N N N
发布于 2013-12-24 07:00:11
这取决于上下文。
当它在一个类中时:
class example1 {
int a = 10; // This is package-private (visible within package)
void method1() // This is package-private as well.
{
-----
}
}
当它在一个接口中时:
interface example2 {
int b = 10; // This is public and static.
void method2(); // This is public and abstract
}
发布于 2013-04-23 16:50:56
默认访问修饰符为package-private -仅在同一个包中可见
https://stackoverflow.com/questions/16164902
复制相似问题