码迷,mamicode.com
首页 > 编程语言 > 详细

匿名内部类实现线程的两种方式

时间:2019-08-09 01:43:35      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:类对象   start   ble   over   使用   aaaaa   继承   runnable   内部类   

 匿名内部类的使用:  匿名内部类就相当于是   创建了一个子类对象: 编译时看父类,即Thread类,运行时看子类,及重写的run(){}方法

1、  继承Thread 

public class demon1 {
    public static void main(String[] args) {
        Thread t1 = new Thread(){         //  t1是一个线程对象,  暂时没有线程名。  可以通过t1.setName(name)设置线程名   
            @Override
            public void run() {
                System.out.println(this.getName() + ".......aaaaaa");
                super.run();
            }
            
        };
        new Thread(){       //   可以在构造方法里传入一个值,这个值就是线程名
            @Override
            public void run() {
                this.setName("lisoi");   // 在方法里  设置线程名
                System.out.println(this.getName() + "......bb");
                super.run();
            }
            
        }.start();
        t1.setName("zhangsan");
        t1.start();
    }
}

 

 

2、实现Runnable接口

public class demon2_currentThread {

    public static void main(String[] args) {
        new Thread("t1"){    //  直接传入 线程名字

            @Override
            public void run() {
                System.out.println(getName() + "......aaaa");    //  getName() 获取线程名
                
            }
            
        }.start();   //  start 直接开启线程        
        new Thread(new Runnable(){
            public void run() {
                System.out.println(Thread.currentThread().getName()+ "......bb"); 
               //  Runnable接口方式的多线程,不能直接调用Thread 的方法 , 需要通过Thread.currentThread()   返回对当前正在执行的线程的对象的引用。  再来调用Thread的方法
            }
        }).start();
        System.out.println(Thread.currentThread().getName());       
    }

}

 

匿名内部类实现线程的两种方式

标签:类对象   start   ble   over   使用   aaaaa   继承   runnable   内部类   

原文地址:https://www.cnblogs.com/yaobiluo/p/11324605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!