4种内部类

1.匿名内部类

是类,同时也作为对象,它定义在外部类的局部位置,比如定义在方法中,并且没有类名

其实有名字,但是该名字由系统设置,是 外部类名加上$1,可以使用getClass()查看类名

2.基本语法

new 类或接口(参数列表){

        类体

}

类体中可以重写类方法或实现接口的抽象方法

3.匿名内部类相当于在底层创建了一个类,继承了父类或实现了接口,匿名内部类在使用一次之后就被销毁,但返回的对象实例仍然可以使用。

4.匿名内部类可以直接访问外部类的所有成员,包括私有成员

5.如果外部类和内部类的成员重名时,匿名内部类访问的话,遵循就近原则,若想访问外部类成员可以用  外部类名.this.成员名 来访问

6.外部其他类不能访问内部匿名类

7.使用匿名内部类创建对象后,该对象的运行类型就是匿名内部类

8.匿名内部类的参数列表,会传递给对应的构造器并调用

9.指向匿名内部类的对象可以调用方法;也可以不指定对象,直接通过匿名内部类调用方法,此时匿名内部类整体作为一个对象,即

new 类名(参数列表){
}.方法名

10.匿名内部类定义时不能添加访问修饰符,因为本身是局部变量,作用域也仅仅在包含它的方法或代码块中。

11.匿名内部类的最佳实践

当作方法的实参传递

method01(new AA() {

        类体

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值