java中的final修饰符
来源:互联网 发布:手机淘宝好评在哪里写 编辑:程序博客网 时间:2024/05/14 18:36
final:
java中的final有最终的、无法改变的意思。final可以修饰非抽象类,非抽象类成员方法和变量。
1.final类不能被继承,因此final类中的方法不能被重写,默认是final类型的。
2.final方法不能被重写,但可以被继承(这点要区分清楚)
class final_A {public void a(){System.out.println("aaa");}final public void b(){System.out.println("bbb");}}class final_B extends final_A{public void b(){//会报错}}在子类中重写父类的final方法就会报错
3.final变量一旦被赋值,就不可被修改,相当于常量。final变量可以在定义的时候不赋值,在java中成为final空白,也只可以赋值一次。
4.final参数只可以被使用,不可以被修改。
5.引申:为何匿名类只可以使用被final修饰的成员变量
1.原因是编译器实现上的困难:内部类对象的生命周期很有可能会超过局部变量的生命周期。
2. 局部变量的生命周期:当该方法被调用时,该方法中的局部变量在栈中被创建,当方法调用结束时,退栈,这些局部变量全部死亡。而内部类对象生命周期与其它类对象一样:自创建一个匿名内部类对象,系统为该对象分配内存,直到没有引用变量指向分配给该对象的内存,它才有可能会死亡(被JVM垃圾回收)。所以完全可能出现的一种情况是:成员方法已调用结束,局部变量已死亡,但匿名内部类的对象仍然活着。
3. 如果匿名内部类的对象访问了同一个方法中的局部变量,就要求只要匿名内部类对象还活着,那么栈中的那些它要所访问的局部变量就不能“死亡”。
阅读全文
0 0
- Java中的final修饰符
- java 中的 final修饰符
- Java中的final修饰符
- Java中的final修饰符
- java中的final修饰符
- Java中的final修饰符
- java中的final修饰符
- Java中的abstract,static,final修饰符
- Java中的abstract,static,final修饰符
- java中的修饰符static/final/abstract/
- java中的修饰符final和static
- Java Final修饰符
- Java final 修饰符
- Java final修饰符
- java修饰符:final
- java final 修饰符
- Java-final修饰符
- java修饰符final
- 建立AI 中国中心,谷歌这次真的”重返中国“了?
- zxing 修改聚焦时间,取景框大小设置
- 深度学习之数学基础(1)
- Redis 课件
- redis的密码设置
- java中的final修饰符
- YII2.0 视图操作
- ionic_refresher列表
- spring boot ajax文件上传超过maxsize,多次调用错误处理方法(填坑),从而多次响应,导致前端拿不到错误信息
- 74cms某漏洞可导致普通用户getshell
- C#实现字符替换的三种方法
- MYSQL 5.7.20 免安装版 自用安装
- 基础工具---解决中文乱码(HTTP中文乱码)
- 容器集群管理平台的比较