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

来源:2-3 Java线程-隋唐演义实战开发---演员简介

慕粉4379728

2017-05-12 19:59

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回答

  • 慕婉清0689395
    2017-05-12 21:35:25
    已采纳

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

    no4990 回复慕瓜7073...

    多态,用“父类引用”指向“子类的对象”。

    2019-07-09 10:49:57

    共 3 条回复 >

  • 不宅
    2017-05-12 20:11:35

    就是上面这样写的呀

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题