Public Private Protect Default
Public 修饰的类,类属性变量及方法,包内及包外的任何类(包括子类和普通类)都可以访问。
Private 修饰的类,类属性变量及方法,只有本类可以访问,而在包内包外的任何类都不能访问。
Protect 修饰的类,类属性变量及方法,包内的任何类及包外那些继承了该类的子类才能访问,重点突出继承。
Default 如果一个类,类属性变量及方法没有用任何的修饰符,则其为默认的访问权限Default,默认的访问权限的类,类属性变量及方法,包内的任何类(包括继承了此类的子类)都可以访问他,而对于包外的任何类都不能访问他(包括包外继承了此类的子类),重点突出包。
总结:
Protected修饰符修饰的成员变量和方法也称为受保护的成员变量和方法,受保护的成员变量和方法可以再本类或者同一个包中的其他类(包括子类)中通过类的实例进行访问,也可以被同一个包中的类或不同包中的类继承,但是不能再不同包中的其他类(包括子类)中通过类的实例进行访问。
Public修饰符修饰的类,那么该类的类名必须与他所在的源文件同名,一个.Java源文件中有且只有一个Public类,顶层类只能用Public和默认修饰符(无修饰符)修饰。
Protected修饰符修饰的类属性成员变量和方法,只可以被子类访问,而不管子类是不是和父类位于同一个包中。
Default修饰符修饰的类属性成员变量和方法,只可以被同一个包中的其他类访问,不管其他类是不是该类的子类。
Protected属于子类限制修饰符。
Default属于包限制修饰符。
网友评论