内部类举例
枚举类是线程类的内部类,表明线程的生命周期
内部类概述
要点:
- 方法和属性的权限修饰符有四种
- 外部类只有两种权限修饰符,而内部类作为成员有四种
- static不能修饰外部类,但能修饰内部类
- 静态结构:类创建,静态结构随之创建
- 非静态结构:创建对象后才加载非静态结构
重名变量的区分
第一个为形参,毋庸置疑
第二个因为this表示调用该方法的对象,即bird,所以是bird的属性
第三个直接指明person类的属性
内部类练习1
- 一个通过外部类调用构造器,一个通过外部类对象调用构造器
关注写法,谁在调用
dog类为静态类–》内部的结构(构造器)也是静态的
匿名内部类
局部内部类的使用:
返回实现接口的对象
使用方法一
创建实现接口的类,返回类的对象
使用方法二
书写小技巧
注:
- 一般new+构造器,但此处由于没有类名
用接口名替代,并不能说明接口有构造器
匿名内部类总结
接口Product
show方法(测试类TestProduct内定义)
形参为接口,可传入接口实现类的对象,将创建对象的实体的首地址值给引用p
测试类TestProduct
接口的一般使用方法
见上图
- 方式一:类和对象都有名字
- 方式二:只有创建的对象有引用名
- 方式三:类和对象都没有名字
局部内部类
(测试类TestProduct的方法内定义)
方法一
方法二
调用局部内部类(测试类TestProduct内)
t是测试类TestProduct的对象