我可以在java的类之外访问受保护的字段

这个问题在这里已经有了答案:

  • 在Java中,封装私有,公共,受保护和私有26个答案之间的区别

  • protected变量和方法可以从同一个包的其他类以及当前类的子类访问。

    private变量和方法只能从当前类中访问。

    如果没有修饰符(没有protectedprivatepublic ),那么默认情况下,该变量可以从同一包中的任何类访问,但不能从子类访问。

    看到这里的官方文件


    Java中protected成员对包中的其他类也是可见的。

    将你的main()方法移到不同的包中,你会得到一个错误。


    我认为保护字段的意义在于,只有子类和具有受保护字段的类才能访问该变量。

    你错了。

    制作子类或超类的对象不应该授予对这些字段的访问权限。

    它的确如此。 注意你现在在这里与你自己的想法相矛盾。 你的想法包括了子类,现在你试图排除它。

    如果我是对的

    你不是。

    链接地址: http://www.djcxy.com/p/24073.html

    上一篇: I can access a protected field outside of class in java

    下一篇: What is the difference between public void and void methods?