JAVA中的接口(Thread类和他的接口Runnable)

接口

java中的接口是对符合这个接口的一些类的需求,接口一般只含方法声明没有实现。

Runnable接口

Runnable是一个接口,只含有一个Run方法的声明(没有定义)。

new一个接口是实例化一个匿名内部类(aaaa不是这个类的名字)

Runnable aaaa = new Runnable()
{
    @Override
    //此匿名内部类实现了Runnable接口 ,必须含有run方法
    public void run(){
    }
}

匿名内部类的反编译对应的类名是外部类$随机字符串,如果是内部类的话反编译对应的类名是外部类$内部类

Thread类实现了Runnable接口

Thread类实现了Runnable接口,所以其含有Run方法。

public class Text2 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Runnable runnable=new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                System.out.println("i am new Runnable(){xxx}");
            }
        };
        Thread thread=new Thread(runnable);
        thread.start();
    }
}

上述代码会执行内部类runnable的run函数,实际是因为thread类的构造函数参数为Runnable对象,并且有一个target字段,会将runnable对象赋给此字段。在调用thread.start()函数时会执行thread.run函数,此函数会先判断target字段的值是否为NULL,如果不为NULL就调用target.Run(),即上述代码内部类的Run()。

posted @ 2022-04-12 23:16  怎么可以吃突突  阅读(192)  评论(0编辑  收藏  举报