Java 匿名内部类

Java 匿名内部类

 

匿名内部类的存在作用;

 

interface Mesage{

         public void print() ;

}

class Message implements Mesage {

    public void print() {

        System.out.println("Hello,World!") ;

    }

}

public class TestDemo {

         public static void main(String [] args) {

                   fun(new Message()) ;

         }

         public static void fun(Message msg) {

                   msg.print() ;

         }

}

         正常的规律一个接口或者抽象类需要有子类,子类要覆写所有的抽象方法;但如果,message子类只使用唯一的一次;所以,可以采用匿名内部类的方式进行代码的简化。

interface Mesage{

         public void print() ;

}

 

public class TestDemo {

         public static void main(String [] args) {

                   fun(new Message() {

                            public void print() {

                                     System.out.println("Hello,World!") ;

                            }

                   }) ;

         }

         public static void fun(Message msg) {

                   msg.print() ;

         }

}

         上述的简便方法,称为 匿名内部类  使用匿名内部类前提是:必须基于接口或抽象类的应用;可以简约了一个继承/接口实现的子类的产生。

         匿名内部类定义在方法中,方法的参数或者变量,要被匿名内部类所访问,必须加上 final 关键字。

         匿名内部类帮助我们减少了无用的且必要的类的定义。

 

posted @ 2019-05-12 10:50  Mirror王宇阳  阅读(115)  评论(0编辑  收藏  举报