当前位置: 首页 > 面试题库 >

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

谢夜洛
2023-03-14
问题内容

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

例如:

package flight.booking;

public class FlightLog
{
    private SpecificFlight flight;

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

此构造函数的访问修饰符是受保护的还是打包的?同一包(即)中的其他类可以flight.booking调用此构造函数吗?


问题答案:

如果一个类没有修饰符(默认值,也称为package-private),则它仅在其自己的包中可见(包被命名为相关类的组,你将在以后的课程中对其进行了解。)

member level,你也可以no modifier像顶级类一样使用public修饰符或(package-private),并且含义相同。



 类似资料:
  • 问题内容: 我们都知道,如果不专门定义构造函数,则编译器会插入一个不可见的零参数构造函数。我以为它的访问修饰符是公开的,但是在处理内部类问题时,我发现我可能是错的。这是我的代码: 在另一个包中有一个子类: 您将在该方法中得到一个错误,但是如果您将一个公共构造函数添加到该类中,则可以解决该错误。这就是为什么我认为默认构造函数的修饰符不是公共的!那么谁能告诉我默认构造函数的访问修饰符是什么? 问题答案

  • 另一个包中有的子类: 您将在方法中得到一个错误,但如果您将公共构造函数添加到类中,则该错误将得到解决。这就是为什么我认为默认构造函数的修饰符不是public的原因!那么谁能告诉我缺省构造函数的访问修饰符是什么吗?

  • 问题内容: 谁能解释一个 明确的无参数构造函数 (和其他构造函数)的默认访问修饰符是什么? 问题答案: 构造函数在这方面与方法相同-如果您未提供显式的public,private或protected,则构造函数将获得默认的“ package private”可见性。可以从同一类或同一包中的任何其他类中调用它,但不能从不同包中的子类中调用(因此,如果一个类仅具有包可见的构造函数,则任何子类都必须位于

  • 问题内容: 我刚开始读一本Java书籍,就纳闷了。如果未指定,则哪个访问说明符是默认的? 问题答案: 默认可见性称为“ package-private”(尽管您不能显式使用此属性),这意味着可以从该类所属的同一包内部访问该字段。 正如mdma指出的那样,接口成员的情况并非如此,其默认值为“ public”。

  • 根据留档(http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)的第二个表,没有标识符的成员对子类不可见。 但是,当我运行下面的示例代码时,“1”(b的内容)被打印出来! 如果没有访问修饰符的成员不能从子类访问,那么为什么在本例中打印它 它应该抛出一个错误,就像在私有访问修饰符中一样,不是吗?

  • 问题内容: 我知道这不仅适用于Java,而且适用于许多语言,但这是我最熟悉的语言。 我了解修饰符的作用以及如何使用它们。我只想知道,为什么我们需要它们?为什么每个对象都无法访问,无论是否需要访问? 问题答案: 当您必须维护更大的项目时,原因变得更加明显。当方法或变量是公共的时,对它进行更改时必须小心,因为您永远不知道代码库的哪些部分依赖于它的确切行为。 但是,当变量或方法是私有的时,您会知道该变量