JAVA可见性修饰符

时间:2022-09-05 10:24:44

private限定只能在类内访问;

默认修饰符限定只能在包内访问;

public使得访问没有限制;

如果类没有声明成public,那么只能在相同的包里访问;

private只能用于类的成员(如数据域或方法);

可见性修饰符用于类的成员,而不能用于方法中的局部变量;

大多数情况下,构造方法应该是公开的;但是,如果想防止用户创建类的实例,可以使用私有构造方法。例如Math类。

 

公共类protected中protected的数据或方法可以被它的子类或同一包中的任何类访问,即使子类在不同的包中也可以。

可见性递增:private,none(default),protected,public

 

如果不想让类的成员从类外使用,把它们声明成private成员;如果想让该类的用户都使用类的成员,把它们声明成public成员;如果想让该类的扩展者使用数据和方法,而不想让该类的用户使用,则把它们声明成protected。

 

private和protected仅能用于类的成员,public可以用于类的成员,也可以用于类,一个没有修饰符的类(即非公用类)不能被其他包里的访问。

 

子类可以覆盖父类的protected方法,并把它的可见性改为public,但是子类不能降低父类中定义的方法的可访问性。