匿名内部类详解

匿名内部类。就是内部类的简写格式(其实就是创建一个子类对象)——————包括对接口的继承以及实现两个功能

 

前提:内部类必须继承或者实现一个外部类或者接口

 

解释一下:

  1. 有一个接口
  2. 在一个类中有一个内部类,这个内部类想继承这个接口,可以这么写
  3. 为了简化方法可以这么写,因为是Inner继承Inter,当采用匿名对象写法时,就没有子类对象名称了,所以直接new父类,并在下面方法体中重写接口的方法。
  4. 一般把匿名对象类放在一个方法中,在主函数中直接调用这个方法即可

 

 

 

 

public class Main {

    public static void main(String[] args){

        Main main = new Main();

        main.test(new Man(){

            //这里传入一个Man接口的匿名实现类的实例

            public void talk(){

                System.out.print("I'm a man!");

                //output I'm a man!

            }

        });

    }

 

 

    public void test(Man m){

        //调用该方法需要传入一个Man类型参数

        m.talk();

    }}

 

 

interface Man{

    void talk();}

 

举个栗子:在上述代码中,第四行调用Main对象的test方法,test方法的参数是接口类型的,但是在实际传参数的过程中需要对这个接口进行复写和实现,所以直接在第四行采用 new 接口名的方式对接口进行了复写,并生成了一个对象.(test方法的参数是一个接口,说明 实现了这个接口的类的对象都可以作为参数传进去)

posted @ 2020-03-23 17:45  BeeeenWei  阅读(939)  评论(0)    收藏  举报