首页 > 编程知识 正文

匿名内部类实现接口,java throwable

时间:2023-05-05 16:36:29 阅读:154927 作者:135

15.2.3使用runnable接口

我知道Java的类只能是单一继承。 这意味着如果一个类继承了Thread类以使用线程,则不能继承另一个类。 这很可能给编程带来不便。 本节说明脱离继承而使用线程的方法。 该方法的核心是Runnable接口。

Runnable接口的完全限定名称为java.lang.Runnable。 其中只有一种抽象的方法。 void run (。 要了解如何在线程中使用Runnable接口,还必须参考Thread类的target属性和Thread类的run ()方法。 Thread类具有名为target的Runnable类型的属性。 Thread类的run (方法使用此属性。 run ) )方法的代码如下。

publicvoidrun () {//Thread类的run ) }方法

目标!=null (检查target属性是否为空且target属性为Runnable

//类型引用

target.run (; //如果不为空,则执行run (方法

//否则什么也不做

(}//run ) )方法结束

如何避免target的值为空? Thread类的另一种构建方法是为名为thread(runnable )的target属性赋值。 调用此构造方法时,传递的参数会分配给target属性。 也就是说,可以直接使用Thread类,但步骤如下。

)1)例如安装被称为MyRunnable的Runnable接口,在MyRunnable系的run ) )方法中写下想让线程做的事情。

)2)创建MyRunnable的实例。

)3)构建方法Thread(runnable )以创建thread类的实例。

此时,start (调用该方法调用此线程时,为MyRunnable的run ) )方法的代码将执行。 尝试使用以下方法。 首先是MyRunnable类。

packagecom.javaeasy.usethread; //装有程序的包

publicclassmyrunnableimplementsrunnable {//runnable接口的实现

公共void run () run )方法的实现

System.out.println (这是在另一个线程上执行的代码。 ' );

//在控制台上输出一行

(}//run ) )方法结束

}

MyRunnable实现了一个Runnable接口,其run ()方法是线程执行的方法。 然后是例行程序。

packagecom.javaeasy.usethread;

publicclassUseMyRunnable{

publicstaticvoidmain (string [ ] args )//例程的main )方法

创建//MyRunnable类的实例,MyRunnable,MyRunnable实现了runnable

//接口

myrunnablerunnable=newmyrunnable (;

thread thread=new thread (runnable; 调用Thread的相应结构

//方法,传递参数

thread.start (; //启动线程

}

}

例程按照步骤创建MyRunnable类的每个实例,调用与Thread对应的构造方法,最后调用线程。 因为Runnable是一个接口,所以为了简单起见,您也可以使用之前学到的匿名类来实现相同的功能。 使用匿名类的例程如下。

packagecom.javaeasy.usethread;

publicclassUseRunnable{

publicstaticvoidmain (string [ ] args )//测试类的main )方法

创建作为实现Runnable接口的匿名类实例的线程

thread thread=new thread (new runnable () ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。