java匿名内部类的使用注意事项
来源:互联网 发布:2017ps淘宝主图制作 编辑:程序博客网 时间:2024/04/30 03:47
1、首先匿名内部类要继承自抽象基类或者实现基类接口
like this
abstract class Seed{int cnt;public Seed(int x){cnt=x;}abstract void showInfo();}class Apple{int num=300;public Seed getSeed(final int x){return new Seed(x){public void showInfo(){System.out.println("The apple's seeds are "+num);}};}
2、在类的内部不能对父类字段进行初始化,除非使用初始化块,也不能对外部类的子段进行更改
这样是不行的,//!注释部分是不正确的
abstract class Seed{int cnt;public Seed(int x){cnt=x;}abstract void showInfo();}class Apple{int num=300;public Seed getSeed(final int x){return new Seed(x){//!num=200;//!cnt=100;public void showInfo(){System.out.println("The apple's seeds are "+num);}};}原因:
所谓匿名内部类与实名类本质上是相同的,而在类的内部对子段初始化的位置只能是声明的位置或者在构造函数的内部,而对字段值的更改只能在该类方法的内部。在其它位置对字段值的更改是无效的,因为此时的更改和操作没有机会执行,所以编译器会报错。而在初始化块中对字段的操作和更改是可以的。
这样也是不行的
public class Wrapping{public int a;public int b;//!a=100;}
0 0
- java匿名内部类的使用注意事项
- Java匿名内部类的使用注意事项
- java 内部类、匿名内部类、嵌套类的使用
- java静态内部类和匿名内部类的使用
- java中的内部类和匿名内部类的使用
- java中匿名内部类的使用
- [java基础]匿名内部类的使用
- java匿名内部类的使用场景
- 内部类、匿名内部类的使用
- java 匿名内部类使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- 匿名内部类的使用
- java的内部类、匿名内部类、局部内部类
- Java的匿名内部类
- Ubuntu 时间同步问题
- 安装ubuntu 必须做的几件事情
- Eclipse如何导入工程
- C++ primer plus(第六版)第五章练习题
- 八皇后问题的回溯法。
- java匿名内部类的使用注意事项
- C语言中 各种指针定义到对比 联想2014秋笔试题目
- 【java开发系列】— JDOM创建、修改、删除、读取XML文件
- 菜鸟DirectX之Direct显示文本
- c++中引用和指针的区别
- 【瞎搞】 HDU 5063 Operation the Sequence
- Linux系统启动过程
- Android开发教程详细版
- Java JSON处理类库Jackson