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(); }
匿名内部类不是主动去用的,是当需要时是个接口,我们去创造的被动去用的。
最终的匿名内部类核心就是简化代码