为什么protected可以在没有javainheritance的同一个包中访问?
Modifier Class Package Subclass World public YYYY protected YYYN no modifier YYNN private YNNN
public class a { protected int x; } public class b { b() { a A=new a(); Ax=9;//why we can access this field ? } }
请帮助我了解Java中受保护的具体工作
为什么? 因为这就是Java编程语言的设计方式。 没有更多的东西。
可以从中获取protected
东西
- class级本身,
- 同一个包中的类(如果它们是子类,则无关紧要),
- 子类(如果它们在同一个包中则无关紧要)。
这与C ++不同,但Java不是C ++,因此它不一定以相同的方式工作。