打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
匿名内部类在创建多线的使用

匿名内部类 (new runnable)

1. 解释:

  • 没有名字

  • 内部的类

  • 只使用一次

  • 前提条件:必须继承一个父类,或者implements 一个 接口 interface

 

2. 实例:

 

Demo1:

abstract class Person {
   public abstract void eat();
}

class Child extends Person {
   public void eat() {
       System.out.println("eat something");
  }
}

public class Demo {
   public static void main(String[] args) {
       Person p = new Child();
       p.eat();
  }
}

 

如果Child类使用一次,将变得多余,可以改为如下代码

abstract class Person {
   public abstract void eat();
}

public class Demo {
   public static void main(String[] args) {
       new Person(){
           public void eat() {
               sout("eat !!!");
          }
      }.eat();
  }
}

 

 

Demo2:

 

interface Person {
   public void eat();
}

public class Demo {
   public static void main(String[] args) {
       new Person(){
           public void eat() {
               sout("eat !!!");
          }
      }.eat();
  }
}

此处 new Person( )看似实例化了一个接口,事实并非如此,接口式的匿名内部类是实现了一个接口的匿名类。而且只能实现一个接口。

 

Demo3:

new Thread() {
           public void run() {
               for (int i = 1; i <= 5; i++) {
                   System.out.print(i + " ");
              }
          }
}.start();

 

Demo4:

new Thread(new Runnable() {

@Override
public void run() {
int i=0;
while(true){
i++;
System.out.println("this is 线程"+i);
}


}
}).start();

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
内部类之匿名内部类
C#多态小结
[转]Java中Runnable和Thread的区别
Java接口 详解(二)
抽象类的概述和讲解
数据结构与算法:03 C#面向对象设计 I
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服