java中大量匿名内部类的坏处_java中匿名内部类

android里大量用到了接口回调,这里是牵涉到匿名内部类的问题

语法:

new 父类构造器(实参)|实现接口(){

}

要点:

1,必须实现一个(也只能是一个)接口或者继承一个(只能是一个)父类

2,匿名内部类不可以是抽象类 3,匿名内部类不可以有构造器

创建匿名内部类的方式有点奇怪,会立即创建这个类的实例,然后这个类消失,不能重复使用

当通过接口来实现匿名内部类的时候,匿名内部类不能显式的创建构造函数,只有一个隐式的匿名构造函数,故new后面不能传值 当通过继承父类来创建匿名内部类的时候,匿名内部类将拥有和父类相似的构造函数,此处的相似指的是拥有相同的形参列表

如果匿名内部类需要访问外部类的局部变量,则要用final修饰符来修饰外部类的局部变量

interface A{

void test();

}

public class ATest{

public static void main(String []args){

int age=10;

A a=new A(){

void test(){

//此处将错误,匿名内部类访问外部类的局部变量要用final修饰符

System.out.println(age);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值