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

Java匿名内部类

时间:2020-01-16 14:25:32      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:abs   需要   run   就是   日常   方法   ide   col   span   

匿名内部类顾名思义就是没有名字的内部类。一般用于只需要使用一次,很少被其他地方是使用的类。

第一种方式:抽象类

/**
 * @author suwan
 * @date 2020/1/15
 */
public abstract class AbstractCat {
    abstract void smile();
}

直接将抽象类AbstractCat的方法实现。就可以省略一个写一个类来实现抽象类。

/**
 * @author suwan
 * @date 2020/1/15
 */
public class Demo {
    public static void main(String[] args) {

     AbstractCat abstractCat=new AbstractCat() {
         @Override
         void smile() {
             System.out.println("抽象类。。。笑。。。");
         }
     };
     abstractCat.smile();
    }
}

输出:

抽象类。。。笑。。。

第二种方式:接口

/**
 * @author suwan
 * @date 2020/1/15
 */
public interface Cat {
    void  smile();
}
/**
 * @author suwan
 * @date 2020/1/15
 */
public class Demo {
    public static void main(String[] args) {
        Cat cat = new Cat() {
            @Override
            public void smile() {
                System.out.println("接口。。。笑。。。");
            }
        };
        cat.smile();
    }
}

输出:

接口。。。笑。。。

总结:只要一个类是抽象类或者是一个接口,都可以使用一个匿名内部类来实现。

我们日常中最常见的使用匿名内部类的就是多线程的实现。使用Runnable的接口。

   Runnable runnable=new Runnable() {
       @Override
       public void run() {
           
       }
   }

Java匿名内部类

标签:abs   需要   run   就是   日常   方法   ide   col   span   

原文地址:https://www.cnblogs.com/suwan1125/p/12200777.html

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