您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

了解Java的protected修饰符

了解Java的protected修饰符

你误解了的含义protected。你可以访问A从中声明的受保护成员C,但只能访问的实例C或的子类C。有关受保护访问的详细信息,请参见JLS的6.6.2节。尤其是:

C为声明受保护成员的类。仅在C的子类S的主体内允许访问。

另外,如果Id表示实例字段或实例方法,则:

[…]

如果通过字段访问表达式E.Id(其中E是主表达式)或通过方法调用表达式E.Id(…)(其中E是主表达式)进行访问,则仅当且仅当允许访问时,如果E的类型是S或S的子类。

(强调我的。)

所以这段代码就可以了:

C c = new C();
System.out.println(c.publicInt);
System.out.println(c.protectedInt);
java 2022/1/1 18:15:16 有625人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶