在 java 中继承后受保护的成员会怎样?
what happens to protected members after inheritance in java?
在 C++ 中受保护的成员在私有继承中变得私有。
所以我很困惑 Java 中发生了什么。这里的访问说明符保持不变还是什么?喜欢
如果假设存在以下代码,那么现在 shiva 仍将在 classB 中受到保护?我们可以在 classC 中再次使用它吗?
任何帮助将不胜感激。
package package1
class classA
{
protected shiva;
}
////////////////////////
import package1
package package2
class classB extends classA
{}
//////////////////////
import package2
class classC extends classB
{}
是的,您可以在子类中使用受保护的字段。
受保护的访问修饰符位于 public 和默认访问修饰符之间。它可以在包外访问,但只能通过子类访问。
请参阅此 link 以获得更清楚的信息。
https://www.tutorialride.com/core-java/inheritance-access-modifiers-in-java.htm
是的,您可以在子类中使用它。
是的,你可以使用它。
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │ + │ + │ + │ │
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ │ │ │
+ : accessible blank : not accessible
如需更多参考,请查找此问题的答案here。我觉得很像。
在 C++ 中受保护的成员在私有继承中变得私有。 所以我很困惑 Java 中发生了什么。这里的访问说明符保持不变还是什么?喜欢
如果假设存在以下代码,那么现在 shiva 仍将在 classB 中受到保护?我们可以在 classC 中再次使用它吗?
任何帮助将不胜感激。
package package1
class classA
{
protected shiva;
}
////////////////////////
import package1
package package2
class classB extends classA
{}
//////////////////////
import package2
class classC extends classB
{}
是的,您可以在子类中使用受保护的字段。
受保护的访问修饰符位于 public 和默认访问修饰符之间。它可以在包外访问,但只能通过子类访问。
请参阅此 link 以获得更清楚的信息。
https://www.tutorialride.com/core-java/inheritance-access-modifiers-in-java.htm
是的,您可以在子类中使用它。
是的,你可以使用它。
│ Class │ Package │ Subclass │ Subclass │ World
│ │ │(same pkg)│(diff pkg)│
────────────┼───────┼─────────┼──────────┼──────────┼────────
public │ + │ + │ + │ + │ +
────────────┼───────┼─────────┼──────────┼──────────┼────────
protected │ + │ + │ + │ + │
────────────┼───────┼─────────┼──────────┼──────────┼────────
no modifier │ + │ + │ + │ │
────────────┼───────┼─────────┼──────────┼──────────┼────────
private │ + │ │ │ │
+ : accessible blank : not accessible
如需更多参考,请查找此问题的答案here。我觉得很像。