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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 任雷彬 中级黑马   /  2012-11-4 10:28  /  3011 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在子类继承父类过程中,子类会继承父类的属性和方法,在API中sleep方法是Thread类中定义为static静态的方法。
但是在子类继承后,子类是否可以调用sleep()方法。
还有在下面代码中没有Thread类,为什么可以再Tick类中用Thread调用Thread.sleep(10);方法?

class Tick implements Runnable
{
   private int ticket =50;
  public void run()
{
    while(true)
{
if(tick>0)
{
try{Thread.sleep(10);}catch(Exception e){}
//此try...catch...语句中,Thread类在调用sleep()方法,但是在子类继承父类时候,子类会拥有父类的功能,
//所以是否可以用子类调用sleep()方法。
System.out.println(Thread.currentThread().getName()+"..."+tick--);
}
}
}
}
class TickDemo
{
   Tick t = new Tick();
   Thread t1= new Thread(t);
   Thread t2 = new Thread(t);
   t1.start();
   t2.start();
}

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

7 个回复

倒序浏览
可以,只要这个类继承了Thread类,那么它也拥有了sleep静态方法,可以自己调用sleep方法。
回复 使用道具 举报
在子类继承父类过程中,子类会继承父类的属性和方法,在API中sleep方法是Thread类中定义为static静态的方法。
但是在子类继承后,子类是否可以调用sleep()方法。
必须可以,这是继承的特性!~

还有在下面代码中没有Thread类,为什么可以再Tick类中用Thread调用Thread.sleep(10);方法?

下面的代码没有Thread类???
Thread t1= new Thread(t);
Thread t2 = new Thread(t);
这两段代码是不是新建了Thread对象 t1,t2
t1和t2在执行Tick类中的run方法时调用自身的sleep()方法,符合原理啊!

tick类实现了了runnable接口,具备了多线程的特性,实现了runnable接口的类,要想使用多线程
还必须要创建Thread对象类完成,只是用了不同的构造方法来创建Thread类
继承Thread类和实现runnable接口来实现多线程都要创建Thread来完成
只是Thread的构造方法不同而已
附:
构造方法摘要
Thread()
          分配新的 Thread 对象。
Thread(Runnable target)
          分配新的 Thread 对象。

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1

查看全部评分

回复 使用道具 举报
楼上说的很不错了;

这里补充一下:继承父类的子类是可以调用父类的所有属性跟方法(private 和final的除外 除非重写 不然是调用不到的,官方有声明,继承只能继承"看的到"的属性跟方法).

回复 使用道具 举报
你迷惑的是Thread类并没有在你的代码中定义出来,为什么却可以用它?这是因为Thread类是被自动导入的,它是java.lang 包中的类,java.lang包中的类在被被调用时会被自动导入,而不用显示的手动导入。
继承了Thread之后可以使用它的方法和属性,在权限足够大的情况下。
回复 使用道具 举报
刘士林 发表于 2012-11-4 15:02
你迷惑的是Thread类并没有在你的代码中定义出来,为什么却可以用它?这是因为Thread类是被自动导入的,它是 ...

java.lang包中的类是被自动导入的,那其他类那?
回复 使用道具 举报
任雷彬 发表于 2012-11-4 20:47
java.lang包中的类是被自动导入的,那其他类那?

据我所知,java虚拟机只默认导入java.lang包,其它包要自己手动导入。
回复 使用道具 举报
陈军 中级黑马 2012-11-5 11:00:03
8#
既然是静态方法。所属于类Thread本身。跟其他没有关系。任何类都可以调用。所以子类必须可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马