JAVA面向对象高级三:匿名内部类

1.认识匿名内部类:

 

package com.itheima.匿名内部类;
public class test {
    public static void main(String[] args) {
        //把这个匿名内部类编译成一个子类,然后会立即创建一个子类对象出来
        Animal A=new Animal(){
          @Override
          public void cry(){
              System.out.println("猫叫");
          }
        };
        A.cry();
    }
}


abstract class Animal{
    public abstract void cry();
}

 

 

2.匿名内部类使用场景:

 

package com.itheima.匿名内部类;
public class test {
    public static void main(String[] args) {
        go(new Swiming() {
            @Override
            public void swim() {
                System.out.println("狗游得飞快");
            }
        });
    }
    public static void go(Swiming s){
        System.out.println("开始---------------------");
        s.swim();
    }

}

interface Swiming{
    void swim();
}

 

 匿名内部类不是主动去用的,是当需要时是个接口,我们去创造的被动去用的。

 

最终的匿名内部类核心就是简化代码

 

 

posted @ 2024-03-25 19:45  小彭先森  阅读(4)  评论(0编辑  收藏  举报