private限定只能在类内访问;
默认修饰符限定只能在包内访问;
public使得访问没有限制;
如果类没有声明成public,那么只能在相同的包里访问;
private只能用于类的成员(如数据域或方法);
可见性修饰符用于类的成员,而不能用于方法中的局部变量;
大多数情况下,构造方法应该是公开的;但是,如果想防止用户创建类的实例,可以使用私有构造方法。例如Math类。
公共类protected中protected的数据或方法可以被它的子类或同一包中的任何类访问,即使子类在不同的包中也可以。
可见性递增:private,none(default),protected,public
如果不想让类的成员从类外使用,把它们声明成private成员;如果想让该类的用户都使用类的成员,把它们声明成public成员;如果想让该类的扩展者使用数据和方法,而不想让该类的用户使用,则把它们声明成protected。
private和protected仅能用于类的成员,public可以用于类的成员,也可以用于类,一个没有修饰符的类(即非公用类)不能被其他包里的访问。
子类可以覆盖父类的protected方法,并把它的可见性改为public,但是子类不能降低父类中定义的方法的可访问性。
本文详细介绍了Java中的访问控制修饰符,包括private、default、protected和public的使用规则和场景。讲解了如何通过这些修饰符来控制类、方法和字段的可见性,以及在继承和包访问权限中的应用。特别提到了构造方法的可见性,如Math类的私有构造方法。还讨论了protected关键字允许子类和同包内访问的特点,以及方法覆盖时的可见性调整原则。
625

被折叠的 条评论
为什么被折叠?



