前言
我本来想着在【类与对象】那篇博客里讲访问修饰符的,但是因为继承还没有讲,protectded解释起来就会很费劲,就索性把【继承和多态】先写了,完了之后再来讲这个访问修饰符
访问修饰符
又称权限修饰符,我们之前见过的public、static就是访问修饰符,除此之外还有protected和default(默认,不写),我们最常用的就是public和static,剩下两个的应用场景比较少
定义
访问修饰符就是用来限制类中的成员(成员变量、成员方法、构造器、代码块……)能够被访问的范围
修饰符 | 在本类中 | 同一包中不同类 | 不同包中子类 | 不同包中任意类 |
---|---|---|---|---|
private | √ | |||
default | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
从范围上:private < default < protected < public
使用示例
public class Test {
//1.private:只能在本类中访问
private void printPrivate() {
System.out.println("==private==");
}
//2.default:本类、同一个包下的类
void printDefault() {
System.out.println("==default==");
}
//3.protected:本类、同一个包下的类、不同包中的子类
protected void printProtected() {
System.out.println("==protected==");
}
//4.public:本类、同一个包下的类、不同包中的子类、不同包中的任意类
public void printPublic() {
System.out.println("==public==");
}
}
要注意:default表示什么都不写时的默认权限
结语
我们一般会把成员变量设置为private,把成员方法设置为public,但还是得根据实际开发场景来设置。希望大家能喜欢这篇文章,有总结不到位的地方还请多多谅解,若有出现纰漏,希望大佬们看到错误之后能够在私信或评论区指正,博主会及时改正,共同进步!