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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王峰230321 中级黑马   /  2013-7-9 12:21  /  1474 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王峰230321 于 2013-7-9 15:00 编辑

今天学到 多线程的时候 突然想起来的, 直接敲代码吧

class Test extends Thread
{
       public void run()
      {
           System.out.println("xxxxx")
      }

}

class Doem
{
      public sataic void main(string[] args)
      {
              Test t1=new Test();
              t1.run();
      }
}
我想知道 ,  在创建新对象。  t1的时候、  创建 Test的 和创建父类的 有什么区别?,  
假如说 Test继承的是一个接口 ,Test也重写了接口所有的的方法,  那么
接口名.t1=new Test(); 和 Test t1=new Test();  有什么区别?使用方法之类的 是否会不一样?

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

5 个回复

倒序浏览
父类不能调用子类特有方法

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
杨兴庭 + 1 + 3

查看全部评分

回复 使用道具 举报
denghui1010 发表于 2013-7-9 12:35
父类不能调用子类特有方法

但是new的是子类啊,    new一个子类 还不能调用子类的方法?
回复 使用道具 举报
Person x = new Student();
x不能调用Student的特有方法
回复 使用道具 举报
不可以的,如果你只用父类或者接口的方法,那两种方法创建都一样,如果要用到子类的方法就不能用父类或者接口的引用。比如说Object类是所有类的根类,你所有类都可以用Object类的引用来代表,但你不可能用Object类的引用去调用你创建的类的方法吧,Object类不可能知道所有类的方法。所以只能用Object类自己有的方法而已

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
杨兴庭 + 1 + 3

查看全部评分

回复 使用道具 举报
应该是明白了。  谢谢。  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马