目录
1. 权限修饰符有哪些
2. 这四种修饰符分别的作用
2.1 public修饰符
如图所示再meite02这个包下创建了一个Demo02java文件
在任意一个包下只要是被public修饰符修饰,那么方法,属性,类,这样一来就可以直接访
2.2 private修饰符
可以看到,被private修饰了之后,在demo02这个类中无法调用parent中的privateA2方法
2.2.1 分析原因
因为private只能在本类中进行访问,就算在同包下,也不行
2.3 default(默认)
可以看到idea会提示你,你不需要写一个default,默认会加上一个default
注:那么您只可以在同一个包,同一个类下都可以进行访问
2.4 protected
可以在本类调用
如果需要挎包调用,那么首先继承有此方法的那个类,然后才能调用
3. 使用最多的是那个修饰符
private一般最多,因为它是被封装了之后会一共get和set方法
4. 写在类中的修饰符
如果没有写public修饰符,那么这就是一个default,这样一来就只能在同级包下进行访问
使用图中可以看到,demo01无报错,02则报错
5. 重写的注意事项
注:如果你的父类中方法时使用private修饰,那么你无法在子类中重写,即使你写了一样的方法,那也就只算你的子类中的方法,并不算重写
这个不能低于父类的访问权限,意思就是,按照优先级,public优先级最高
6. 姿状态修饰符
6.1 final关键词(最终态)
6.1.1 修饰类
final可以修饰类、成员属性和成员方法,
如果修饰的是类,那么可以看到是不能被子类继承了,也就是可以理解为--太监类
6.1.2 修饰成员方法
如图所示,子类可以继承,但是无法重写父类中的方法
6.1.3 修饰成员属性
修饰成员属性,那么必须得加一个初始值才行,那么这个属性值无法被修改了
即使你是在本类中修改也不行
6.1.4 修饰成员属性
如图所示,被final修饰的局部变量也是不可以修改的,原因是他是int,也就是基本类型
但是new的这个类却可以,因为它是引用类型,如上图所示
但是如果在student类中给成员属性加上一个final,那么也不可以修改了
6.1 static关键词(静态)
6.1 示例
所以s1中给school赋值为美特大学,那么s2也会共享,因为他们是同一个 school
图中s1是梅特,所以s2也是,但是给s2赋值为,武汉大学,那么s3也就是武汉大学
6.2 访问特点
所以没加static,可以看到不能直接访问,所以报错了