Lee*_*fin 27 java protected access-modifiers
我正在阅读"Java编程语言"第3版.
在第3.5章中,它protected
使用以下单词说明了修饰符:
更确切地说,除了可以在类本身内访问以及在同一个包中编码之外,还可以通过对象引用从类访问受保护的成员,这些引用至少与类的类型相同,类的类型的引用或其中一个亚型.
这两个方面让我感到困惑:
1.受保护的成员可以通过同一个包中的代码访问吗?之前我所知道的是受保护的成员只能由子类访问...
2.我不明白这是什么a protected member can also be accessed from ...
意思,任何人都可以向我解释好吗?
Jes*_*per 18
是的,protected
可以从类本身,类的子类以及类的同一个包中的所有类访问成员(如果这些是子类,则无关紧要).如果你以前不知道最后一部分,那么你刚刚学到了新东西.
它只是意味着你可以使用这些成员; 如果成员不可访问,则意味着当您尝试使用它时会遇到编译器错误.
Hus*_*awi 11
在Java中,protected
意味着成员可以被同一个包中的任何类和子类访问,即使它们位于另一个包中.
注意
A protected variable is not visible outside the package
Run Code Online (Sandbox Code Playgroud)
例如B扩展A和A有一个受保护的int x; 它可以在类B中使用.但不能使用其实例变量进行访问
我不明白受保护的成员也可以从...访问是什么意思,任何人都可以向我解释一下吗?
例如,您有一个对象 A 和一个对象 B,它们都属于同一类。如果对象 A 具有对对象 B 的引用,则它能够查询对象 B 的受保护属性和方法。protected 修饰符在类级别强制执行,而不是在对象级别强制执行。这在某些情况下会派上用场。
归档时间: |
|
查看次数: |
42437 次 |
最近记录: |