【问题标题】:Which Java access modifier allows a member to be accessed only by the subclasses in other package? [duplicate]哪个 Java 访问修饰符允许仅由其他包中的子类访问成员? [复制]
【发布时间】:2014-02-03 16:02:20
【问题描述】:

我不得不稍微缩短标题。这是完整的问题:

在 Java 中,哪个访问修饰符允许一个成员只能被其他包中的子类或该成员类的包中的任何类访问?

我在想protected,但我的办公室同事说答案是private

【问题讨论】:

  • 要么你的办公室同事在拉你的腿,要么你在拉我们的腿。
  • @Marko - 没有腿拉,只是有些混乱。你说哪个是正确答案?
  • 我建议你试试看。你会很快发现的。
  • 这是另一个很好的表格供将来参考:stackoverflow.com/a/33627846/276052

标签: java access-modifiers


【解决方案1】:

类属性对不同访问修饰符的可见性

———————————————————————————————————————

1) 来自同一个班级

      Public , Protected, Private and Default

2) 来自同一包中的任何类

      Public, Protected and Default

3) 来自同一包中的子类

      Public, Protected and Default

4) 来自同一个包外的子类

      Public and Protected (by inheritance)

5) 来自包外的任何非子类或类

      Public only

【讨论】:

    【解决方案2】:

    看到这可能会有所帮助..你!这是java中所有访问修饰符的范围。

    【讨论】:

      【解决方案3】:

      它不能是私有的,因为私有成员方法只能在同一个类中访问。

      受保护并不意味着只能由子类访问成员,它特别意味着可以在包中访问这些类。

      您的问题要么是错误的,要么您在提问的过程中遗漏了一些东西。

      请看以下内容:

      http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

      【讨论】:

      • 丽兹 - 谢谢。我会回去看看细节。这个问题是从日语翻译过来的,所以我认为翻译中丢失了一些东西:-(
      【解决方案4】:

      在 Java 中,哪个访问修饰符允许一个成员只能被其他包中的子类或该成员类的包中的任何类访问?

      【讨论】:

        猜你喜欢
        • 2010-10-28
        • 2014-01-02
        • 1970-01-01
        • 1970-01-01
        • 2020-02-05
        • 2016-06-15
        • 1970-01-01
        • 2013-12-01
        • 2011-06-13
        相关资源
        最近更新 更多