A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© goldenking56 初级黑马   /  2012-3-3 22:25  /  2025 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学习线程这一讲,发现一个有意思的东西:
class TestThread extends Thread
{   ...  }
当实例化一个对象的时候,可以这样:
Thread t = new TestThread();
这样编译器是通过的;

我又试了试这样的:
TestThread t = new Thread();
这样编译就不会通过

为什么父类和子类可以这样进行实例化,为什么第二种就错了呢,请各位帮帮忙解释一下!  

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
父能产生子,子产生不了父
第一个是多态的应用,父类指向子类,子类可以调用父类中的方法,
回复 使用道具 举报
子类是父类的专门化,也就是说,父类的功能子类全都有,儿子类有的父类不不一定有,从逻辑上讲,子类可以替代父类,所以可以有一个父类变量接收一个子类的实例。儿要使用子类变量接收父类实例,则需要向下类型转化,但是前提是,父类变量保存的是一个子类的实例才可以,因此这样做是有风险的。使用instanceof做一个判断之后再进行强制转换。
回复 使用道具 举报
谢谢各位,我明白了
回复 使用道具 举报
爹可以指向向儿子
儿子不可以指向爹
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马