深究JAVA--内部类的秘密
来源:互联网 发布:模板支架计算软件 编辑:程序博客网 时间:2024/06/07 23:02
从事JAVA开发将近两年的时间了,很少用到内部类,以至于几乎忘光了老师曾经讲过的这一知识点,今天在博客里总结一下,希望以后可以用在实际的项目中。
问题一:什么时候用内部类。
答:如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口。由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能。真正的原因,java中的内部类和接口加在一起,可以很好的实现多继承的效果。
问题二:如果内部类和外部类的成员变量同名时,报错吗,怎么在内部类调用外部类的成员变量。
答:不报错,可以使用。在内部类中,Outclass.this.xxxx。
附代码块:
/** * @author 黄鑫 (Xin·Huang) * @date: 2015-4-2 下午09:37:24 * @desc: 1.<br /> * 2. */public interface InterfaceTest{public int Sum(int a,int b, int c);}
/** * @author 黄鑫 (Xin·Huang) * @date: 2015-4-2 下午08:57:46 * @desc: 1.<br /> * 2. */class Out{private int age = 26; public int Sum(int a, int b, int c){return 0;}class In implements InterfaceTest{private int age = 126;public void print(){// 如果内部类外部类成员变量同名System.out.println(Out.this.age);}@Overridepublic int Sum(int a, int b, int c){return 0;}}}public class Test9{public static void main(String[] args){Out out = new Out(); Out.In in = out.new In(); in.print();}}
0 0
- 深究JAVA--内部类的秘密
- Java匿名内部类深究
- java的内部类、匿名内部类、局部内部类
- java的内部类
- Java的内部类
- java的内部类
- Java的内部类
- java的内部类
- java的内部类
- JAVA的内部类
- Java的内部类
- java的内部类
- java的内部类
- JAVA的内部类
- java的内部类
- java的内部类
- java的内部类
- java的内部类
- win32串口调试助手源码
- 浅谈设计模式:原型模式(Prototype Pattern)
- IP协议号与传输层端口
- underscore深拷贝
- Java中的“&”和“&&”的区别
- 深究JAVA--内部类的秘密
- 完美解决Android在listview添加checkbox实现单选多选操作问题
- 求四个数的倒数只和等于1的四个数字
- 10. PHP Float 浮点型
- 自定义debug.keystore 步骤及注意事项
- 欢迎使用CSDN-markdown编辑器
- Navicat Premium 如何查看 PostgreSQL 某个表的大小
- 线程协作-生产者/消费者问题
- bug,OpenStack、Docker和Spark打造一个云服务