java - Java中的默认访问修饰符是什么?

标签 java access-modifiers

如果我没有明确说明方法或实例变量的默认访问修饰符是什么?

例如:

package flight.booking;

public class FlightLog
{
    private SpecificFlight flight;

    FlightLog(SpecificFlight flight)
    {
        this.flight = flight;
    }
}

这个构造函数的访问修饰符是 protected 还是封装的?同一个包中的其他类,即flight.booking,可以调用这个构造函数吗?

最佳答案

来自 Java documentation

If a class has no modifier (the default, also known as package-private), it is visible only within its own package (packages are named groups of related classes — you will learn about them in a later lesson.)

成员级别,也可以像顶级类一样使用public修饰符或no修饰符(包私有(private)),含义相同.

你可以在这里阅读全文(我最近写的):

http://codeinventions.blogspot.com/2014/09/default-access-modifier-in-java-or-no.html

关于java - Java中的默认访问修饰符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16164902/

相关文章:

java - Java 类中方法和字段访问修饰符的简写?

java - 为什么 Java 中不允许较弱的重写函数?

java 相当于 nsdate

java - Android:如何使用 ContentProvider 使用 DownloadManager 下载文件到内部存储?

java - 延迟绑定(bind)二级类型参数

java - File.createTempFile() 出现意外的 Spock MissingMethodException

java - 压缩 zip 存档

java - 当我们有访问器和修改器时,为什么要声明私有(private)字段?

java - 为什么我可以从另一个包访问非公共(public) javax.swing.Box.Filler?

c++ - 错误 : 'void Base::output()' is protected within this context