你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
江南孤鹜
赞同来自:
Modifier | Class | Package | Subclass | World public | Y | Y | Y | Y protected | Y | Y | Y | N no modifier | Y | Y | N | N private | Y | N | N | N
小明明
protected
public
詹大官人
1. SuperClass package nee.superclass; public class ProvideProtected { protected int x=800; } 2.Subclass package nee.subclass; import nee.superclass.*; public class AccessProtected extends ProvideProtected { public void accessProtected// { System.out.println/x/; } public static void main/String[] args/ { AccessProtected obj=new AccessProtected//; obj.accessProtected//; } }
窦买办
public class A { protected void fn// { } }
public class B { A a1 = new A//; a1.fn//;// fn// is visible inside the same package } }
public class D extends A { void test// { A a1 = new new A//; //a1.fn// --> would give compilation error fn//; super.fn//; } }
fn//, super.fn//
super.fn//
二哥
default
要回复问题请先登录或注册
5 个回复
江南孤鹜
赞同来自:
http://java.sun.com/docs/books ... .html
Java 也许你很有用。
小明明
赞同来自:
允许您访问正在考虑的类的所有子类,无论它们是哪个数据包,以及在同一包中的另一个代码。 默认说明符允许访问同一包中的其他代码,但不是位于不同包中的子类中的代码。 厘米
http://docs.oracle.com/javase/ ... s-6.6
.
EDIT: 适用于迈克尔·桑默勒 /因此,其他人不必阅读评论或继续链接以找到它/: 所有接口成员都隐含地公开可用。 实际上,为除了的接口元素指定任何访问说明符
, 是一个编译时间错误 /虽然没有默认访问说明符 public access/. 这是一组完整的规则 JLS 对于课堂成员 /有关包,顶级类和接口的规则,以及阵列,请参阅上面的链接/:
成员 /类,接口,字段或方法/ 参考类型 /类,接口或数组/ 或仅当类型可用时可用的类类型设计器,并且声明成员或设计器允许访问:
如果元素或构造函数被声明打开,则允许访问访问权限。
所有接口成员都是隐式打开的。
否则,如果声明了成员或构造函数保护,则仅在执行以下条件之一时才允许访问:
从包含一个类别的包裹中访问成员或设计,其中已声明了安全成员或设计器。
如上所述,访问是正确的
http://docs.oracle.com/javase/ ... 6.6.2
. /该提议涉及允许衍生类联系超类的受保护成员的规则; §6.6.2 开始这样的:
"可以从数据包的外部访问安全成员或对象设计器,其中仅由负责此对象实现的代码声明。
" 然后他在这方面详细停止。/
否则,如果已声明成员或设计者已关闭,则允许访问权限,只有在顶层主体中发生 /
http://docs.oracle.com/javase/ ... s-7.6
/, 这是一份会员或设计师的公告。
否则,我们说有一个默认的访问权限,才能允许在访问该类型所声明的程序包时允许。
詹大官人
赞同来自:
受保护的数据成员,如果它们进入其他类,则安全类方法将可见
一个包
使用
遗产
这意味着我们可以使用此类的受保护数据,继承此类。
默认访问说明符 - 只有一种访问默认数据的方法
默认情况下,只有通过包级别仅限访问权限。 , 即使在类扩展名为默认数据元素之后,我们也无法访问。
例子
检查它是否为关键字 remove protected 默认为 int x 在 ProvideProtected , 将生成编译时间错误。
窦买办
赞同来自:
默认访问 :- 默认情况下,这不是关键字 . 如果未指定访问修饰符,则适用 . 这基本上是包级修饰符。 在同一包装中可见此类访问的所有内容。 .
现在可以使用该示例更好地解释差异
包裹 p1
包裹 p1
现在我们在另一个包装中接近子类
包裹 p2
不会犯错误。
因此,差异在于该方法的子类不能由超类参考引起的。 要么你可以直接打电话给它 super.
注意
必须是非静态方法的一部分。
二哥
赞同来自:
会员可用
所有其他课程的同一包
;
会员可用
所有其他课程的同一包
和
在任何其他类别的任何其他包中,直到该类扩展了包含您的安全成员的类。