A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

匿名内部类 匿名类是一样的吗?如果不一样 区别在哪里?

1 个回复

倒序浏览
//匿名内部类甚至没有类名,(实际上有).
所以匿名内部类,只有一个实例,而且没有引用.
如下面那个Thread类的匿名子类,你不能重复使用.
内部类,内部类有名字,但是他在类的内部.

他能访问外部类的所有数据,包括private的.
甚至如果一个内部类,是在一个方法内的话,方法的局部变量,内部类也可以使用.
总体来说匿名内部类,和内部类效果差别不大.
在事件监听和线程应用中经常使用.

//匿名内部类
public class T1 {
public static void main(String[] args) {
new Thread() {
public void run() {
System.out.println("runing");
}
}.start();
}
}
//内部嵌套类
public class T1 {
private static final class Thread1 extends Thread {
public void run() {
System.out.println("runing");
}
}

public static void main(String[] args) {
new Thread1().start();
}
}
0
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马