匿名内部类实现线程的两种方式

本文介绍了使用Java匿名内部类创建线程的两种方法:继承Thread类和实现Runnable接口。通过具体的代码示例展示了如何利用这两种方式来执行特定任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名内部类实现线程的两种方式

  • 继承Thread类

      new Thread() {							//1,new 类(){}继承这个类
      	public void run() {						//2,重写run方法
      		for(int i = 0; i < 3000; i++) {		//3,将要执行的代码,写在run方法中
      			System.out.println("aaaaaaaaaaaaaaa");
      		}
      	}
      }.start();
    
  • 实现Runnable接口

      new Thread(new Runnable(){				//1,new 接口(){}实现这个接口
      	public void run() {						//2,重写run方法
      		for(int i = 0; i < 3000; i++) {		//3,将要执行的代码,写在run方法中
      			System.out.println("bb");
      		}
      	}
      }).start(); 
    
### Java 实现线程创建两种方式 #### 继承 `Thread` 类 通过继承 `Thread` 类来创建新的线程是一种常见的方式。子类需要重写父类中的 `run()` 方法,在此方法内定义线程要执行的任务。 ```java class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 3; ++i) { System.out.println(Thread.currentThread().getName() + " 轮次:" + i); } System.out.println(Thread.currentThread().getName() + " 运行结束"); } public static void main(String[] args) { MyThread t = new MyThread(); t.start(); } } ``` 这种方式简单直观,但是由于 Java 不支持多重继承,因此一旦选择了继承 `Thread` 类就无法再继承其他类[^4]。 #### 实现 `Runnable` 接口 另一种常用的方法是让某个类实现 `Runnable` 接口,并提供具体的任务逻辑给 `run()` 方法。之后可以通过传递此类的一个实例化对象到 `Thread` 的构造函数中去启动新线程。 ```java public class CreateDemo3 { public static void main(String[] args) { // 使用匿名内部类创建和启动线程 Thread thread = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 3; ++i) { System.out.println(Thread.currentThread().getName() + " 轮次:" + i); } System.out.println(Thread.currentThread().getName() + " 运行结束"); } }); thread.start(); } } ``` 这种方法更加灵活,因为它允许一个类同时具有多个行为特性(即可以实现多个接口),而且不会占用唯一的继承机会[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左绍骏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值