为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的通过Thread的对象去.start()没有反映,而是通过继承Thread的子类的对象才能调用出来???

package com.cmf;

public class Threadx extends Thread{
    
    public void run() {
        
        System.out.println(getName() + "是一个演员");
        
        int count = 0;
        
        System.out.println(getName() + "登台演出"+(++count));
        
        System.out.println(getName()+"的演出结束了");
    }
    
    public static void main(String[] args) {
        Threadx actor = new Threadx();
        actor.setName("Mr.Thread");
        actor.start();
    }
}


正在回答

2 回答

因为子类重写了父类的run方法,父类对象不能调用子类的重写的run方法;也可以通过父类对象去引用子类对象去实现调用子类的run方法Thread actor = new Threadx();

1 回复 有任何疑惑可以回复我~
#1

慕粉4379728 提问者

非常感谢!
2017-05-12 回复 有任何疑惑可以回复我~
#2

慕瓜7073846

后面那句可以通过父类对象引用子类对象去实现子类的run方法是什么意思
2018-04-17 回复 有任何疑惑可以回复我~
#3

no4990 回复 慕瓜7073846

多态,用“父类引用”指向“子类的对象”。
2019-07-09 回复 有任何疑惑可以回复我~

就是上面这样写的呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的通过Thread的对象去.start()没有反映,而是通过继承Thread的子类的对象才能调用出来???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信