目录
第2种方式的匿名内部类
# 模板
Runnable r = new Runnable() {...}
=======
修子的日记 目录
第2种方式的匿名内部类
# 模板
Runnable r = new Runnable() {...}
>>>>>>> 593e4ea (添加了SSM)
这玩意就是常用的匿名内部类重写接口方法啦!它背后的实质是:
new [匿名] implements Runnable
# 用匿名内部类重写接口方法来实现线程
MyRunnable r = new Runnable() {
@Override
public void run() {
System.out.println("07分支线程启动!打印100次i");
for(int i=0;i<100;i++){
System.out.println("现在07分支线程 i = " + i);
}
System.out.println("07分支线程结束!");
}
}
Thread t = new Thread(r);
t.start();
以上还可以多结合一步:
把 new 接口 () { 重写接口中的方法 }
作为 new Thread()
里的 Runnable 参数
Thread t = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("07分支线程启动!打印100次i");
for(int i=0;i<100;i++){
System.out.println("现在07分支线程 i = " + i);
}
System.out.println("07分支线程结束!");
}
} );
t.start();
# 回顾
原本我们需要创建子类或者实现类,去继承父类和实现接口,才能重写其中的方法
但是有时候我们这样做了,然而子类和实现类却只使用了一次(定义了一个对象)
这个时候我们就可以使用匿名内部类,不用去写子类和实现类,起到简化代码的作用
记住一点:接口是不能 new 对象的!
# 方式 1
直接重写父类的方法:
父类 对象 = new 父类 () { 重写父类中的方法 };
# 方式 2
直接重写接口中的方法:
接口 对象=new 接口 (){ 重写接口中的方法 };
←
实现线程的前2种方式 线程生命周期→
<<<<<<< HEAD
- 跟随系统
- 浅色模式
- 深色模式
- 阅读模式