Java匿名内部类
作者:互联网
匿名内部类顾名思义就是没有名字的内部类。一般用于只需要使用一次,很少被其他地方是使用的类。
第一种方式:抽象类
/** * @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,内部,author,void,匿名,2020,smile,抽象类,public 来源: https://www.cnblogs.com/suwan1125/p/12200777.html