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()。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2021-04-12 Smss.exe加载win32k.sys过程总结
2021-04-12 ZwQuerySystemInformation枚举内核模块