java重写run方法,如果我们不重写Java中的线程类run()方法,将会发生什么?

Java中的run()方法在Thread类中,run()方法是用空实现定义的。

如果我们run()在用户定义的线程中重写方法,则在run()方法中,我们将定义一个作业,而我们创建的线程负责执行run()方法。

强烈建议您覆盖run()方法,因为它可以提高系统的性能。

如果我们不在run()定义的线程中重写Thread类方法,run()则将执行Thread类方法,并且由于Thread类run()的实现为空,因此不会获得任何输出。

范例1:

在这里,我们将看到,如果我们重写Thread类的run(),会发生什么?class OverrideRunMethod extends Thread{

public void run(){

System.out.println("I am in run() method");

}

}

class MainMethodClass{

public static void main(String[] args){

OverrideRunMethod orn = new OverrideRunMethod();

orn.start();

}

}

输出结果D:\Java Articles>java MainMethodClass

I am in run() method

范例2:

在这里,我们将看到,如果不重写Thread类run()会发生什么?abstract class NotOverridableRunMethod extends Thread{

abstract public void run();

}

class ParentMain{

public static void main(String[] args){

OverrideRunMethod orn = new OverrideRunMethod();

orn.start();

System.out.println("Thread class run() method will be executed with empty implementation");

}

}

当我们调用start()Thread类的方法时。它将执行一些任务,例如调用run()方法和分配线程调度程序等。run()如果run()方法不存在,首先将执行新创建的线程,然后将检查其父类(线程类)是否存在,然后run()将其方法执行。

输出结果D:\Java Articles>java ParentMain

Thread class run() method will be executed with empty implementation

I am in run() method

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值