• java 22


    首先回顾下之前的匿名内部类:  

    匿名内部类的格式:
      new 接口或者接口名(){
            重写方法
        };
    本质:是该类或者接口的子类对象

    匿名内部类方式使用多线程
    1、new Thread(){代码…}.start();
    2、new Thread(new Runnable(){代码…}).start();

    例子1:继承Thread类的匿名内部类实现多线程

    1         // 一、继承Thread类实现多线程
    2         new Thread() {
    3             // 线程的代码
    4             public void run() {
    5                 for (int x = 0; x < 100; x++) {
    6                     System.out.println("Thread" + "--" + x);
    7                 }
    8             }
    9         }.start();// 别忘了启动线程

    例子2:继承Runnable类的匿名内部类实现多线程

     1         // 二、继承Runnable类实现多线程
     2         new Thread(new Runnable() {
     3             // 线程的代码
     4             public void run() {
     5                 for (int x = 0; x < 100; x++) {
     6                     System.out.println("Runnable" + "--" + x);
     7                 }
     8             }
     9 
    10         })
    11 
    12         {
    13             // 这里的代码为空
    14         }.start();

    由于继承Runnable类实现线程中,start之前的{}为空,这里在继承Thread类中是重写线程的方法的,
     所以,如果两者结合起来的话,会执行Runnable还是Thread?

    例子3:同时继承Runnable类和Thread类的匿名内部类来实现多线程

     1         // 三、两者结合
     2 
     3         new Thread(new Runnable() {
     4 
     5             public void run() {
     6                 // 填写继承Ruannble的线程代码
     7                 for (int x = 0; x < 100; x++) {
     8                     System.out.println("hello" + "--" + x);
     9                 }
    10 
    11             }
    12 
    13         }) {
    14             // 填写继承Thread类的线程代码
    15             public void run() {
    16                 for (int x = 0; x < 100; x++) {
    17                     System.out.println("world" + "--" + x);
    18                 }
    19             }
    20         }.start();
    21         //通过运行结果可知道,这里只执行继承Thread类的代码

    ps:这个开发中几乎看不到,就怕面试问到。。

    如:上面那段代码会不会出错?  不会

      执行的是Runnable的代码还是Thread类的代码? Thread类的代码

    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    [小技巧]虚拟机服务管理小程序
    JNI学习
    Java读取Properties文件的七种方法
    UFLDL教程练习(exercise)答案(1)
    win7让库显示“我的电脑”
    关于asp.net中绑定的模版列CheckBox无法触发OnCheckedChanged事件的问题
    使用OLEDB读取不同版本Excel数据的连接字符串设置
    身为程序员,电脑的时间格式是不能随意设置的
    实现sqlserver数据根据不同时间周期分组
    常用Web Service汇总(天气预报、时刻表等)【转】
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5950890.html
Copyright © 2020-2023  润新知