成员内部类
类之间包含另一个类,就像是成员变量,里面该怎么写就怎么写
作用:
1.内部类可以访问外部类私有成员变量
//如果不用内部类通过类访问另一个类的私有成员变量,就得通过对象调用get方法
2.
调用:通过外面类的对象调用
写法二
静态内部类
用static修饰的内部类
创建时可以直接通过类调用
静态内部类只能访问静态相关的
局部内部类
在方法中声明的类
调用
通过在方法体中声明对象,再通过外部类调用该方法创建对象
注意:
内部类可以使用外部函数的参数的值,但是不能改变它,因为前面默认有个final
匿名内部类
例如:new一个接口的实现类。但是这个接口的实现类没有名字因此为匿名内部类(就是new了一个接口的实现类)
平时要调用接口中的抽象方法(接口不能new对象)首先要将接口的实现类
定义出来再通过多态形式创建实现类对象,再通过这个对象调用方法,而匿
名内部类可以直接通过匿名的形式创建接口的实现类来重写要调用的方法再
通过其他类进行调用
匿名内部类实现监听事件
Button按钮
Button button =new Button();
对按钮添加监听事件的动作:例如滑动,长按等
也可以通过平时的方法,采用实现类来调用
匿名内部类的其他写法
也可以在方法中写接口的匿名实现类