java有4种访问权限,3种访问权限修饰符:public,protected,private,还有一个不带任何修饰符、默认的default。
下面从本类,同包,(其他包)子类,其他包(非子类)这四个方面来对比:
public:公共的,权限最大的访问修饰符,被修饰的类、属性、方法可以跨类跨包访问;
protected:受保护的,不可以修饰类,可以修饰属性和方法,被修饰的属性和方法能被同一包里的类访问(可以在本类、同包中访问),也能被该类的子类访问,即使父类和子类不在同一个包中;
default:默认的。可以在本类、同包中进行访问;
private:私有的,访问权限最小的修饰符,不可以修饰类,只能被该类的对象访问(只能在本类中访问)。
这四种权限的大小:public>protected>default>private
通常来说,权限越小、越低,越能提高安全性,在创建类、对象、方法时,我们应当仔细选择。
注意:public和default可以修饰任何类,且类名要与文件名相同。
本类 | 同包 | 不同包的子类 | 其他包的非子类 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |
时间: 2024-10-05 15:21:55