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

Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是

潘自强
2023-05-04

  A、public B、private C、protected D、无修饰

        正确答案:C

  private:Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

  default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。

  protected:介于public和private之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

  public:Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。


 类似资料:
  • 本文向大家介绍java类访问权限与成员访问权限解析,包括了java类访问权限与成员访问权限解析的使用技巧和注意事项,需要的朋友参考一下 在写代码的时候有个问题:包内定义了一个接口类,另外一个包要实现它,这里采用接口隔离与依赖倒置原则,将两个包的依赖关系倒置过来。但是,这里就遇到了一个问题,实现类采用工厂模式来实例化,所以实现类就不想暴露给包外,但是实现类还要实现public接口。所以这里有产生了一

  • A类源代码: B类源代码: 当我编译B. java时没有错误,当我试图编译A. java时,我得到了: 顺便说一句,我不是用IDE来编译这个,我只是用Geany和nano编辑了文件,然后用javac从终端编译它们。

  • 问题内容: 这是一些使用Java 6编译但未在Java 7中编译的代码的简单示例。 在Java 7中,它无法在该方法中编译,并显示以下错误: 错误:_myVar在测试中具有私有访问权限 我不明白为什么它不再编译- 在我看来应该如此。变量是类型,必须扩展。它试图从class内访问实例的字段。 确实,如果我将方法更改为以下方法,则它将编译(没有警告): 为什么这不再编译? 这是Java 6中的错误吗?

  • 主要内容:简单地谈类的封装,对private和public的更多说明前面我们在定义类时多次使用到了 public 关键字,表示类的成员具有“公开”的访问权限,这节我们就来详细讲解。 C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为 成员访问限定符。 所谓访问权限,就是你能不能使用该类中的成员。 Java、 C# 程序员注意,C++ 中的 public、priva

  • 场景,我有两个类管理员和用户。user包含一个布尔字段,标题为[代码][授权][/code]。我希望管理员能够为任何用户访问和编辑此字段,但我不希望用户自己有权访问此字段。我该怎么做呢?

  • 本文向大家介绍Python中设置变量访问权限的方法,包括了Python中设置变量访问权限的方法的使用技巧和注意事项,需要的朋友参考一下 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性