java内部类
来源:互联网 发布:win10不能下载软件 编辑:程序博客网 时间:2024/06/18 08:18
内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。
广泛意义上的内部类一般来说包括三种:成员内部类、局部内部类、匿名内部类
如果a类需要直接访问b类中的成员,而b类又需要建立a类的对象。这时,为了方便设计和访问,直接将a类定义在b类中。就可以了。a类就称为内部类。内部类可以直接访问外部类中的成员。而外部类想要访问内部类,必须要建立内部类的对象。如下程序:
class outer{ int num = 4; class inner { void show(){ system.out.println("inner show run "+num); } } public void method(){ inner in = new inner();//创建内部类的对象。 in.show();//调用内部类的方法。 }}
面试题:
(1)
new object(){ void show(){ system.out.println("show run"); }}.show();(2)
Object obj = new object(){ void show(){ system.out.println("show run"); }};obj.show();
1和2的写法正确吗?有区别吗?说出原因。
写法是正确,1和2都是在通过匿名内部类(没有名字的内部类)建立一个object类的子类对象。
区别:
第一个编译通过,并运行。
第二个编译失败,因为匿名内部类是一个子类对象,当用object的obj引用指向时,就被提升为了
Object类型,而编译时检查时Object类中没有show方法,所以编译失败。
0 0
- 【Java】【内部类】Java 内部类简介
- [Java] Java 内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- java的内部类、匿名内部类、局部内部类
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- Java 静态内部类/内部类
- java内部类、静态内部类 小结
- Java内部类,静态内部类
- JAVA 内部类与静态内部类
- java内部类--局部内部类
- Java 内部类以及匿名内部类
- 简单工厂模式
- 华为云服务器无法ssh连接&&可以公网ip访问
- html 对 form 表单中 put,delete,patch的支持
- computer-database项目性能测试方案
- Struts2学习日志2
- java内部类
- 使用iframe实现将四个页面合成一个页面,并可以随意切换
- IFE_02_dynamicDataBinding_04
- 如何用好 github 中的 watch、star、fork
- idea 内存溢出配置
- Java面试宝典之--基本功
- 常用工具
- 网格变形动画
- 数组的循环移动