欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

JAVA基础-匿名内部类

时间:2023-08-09

1.基于抽象类的匿名内部类

//定义一个抽象类
abstract class Animal{
    public abstract void eat();
}
//之前再新建一个类去继承Animal,然后重写eat方法
//
public class Demo1 {
    public static void main(String[] args) {
        //现在直接可以这样来写
//        Animal animal = new Animal() {//实例化抽象类的时候顺便把未实现的方法实现掉
//            @Override
//            public void eat() {
//                // TODO Auto-generated method stub
//                System.out.println("吃饭");
//            }
//        };
//        animal.eat();
        new Animal() {
            
            @Override
            public void eat() {
                // TODO Auto-generated method stub
                System.out.println("在吃饭");
            }
        }.eat();//匿名对象.方法();
    }
//官方文档中关于匿名内部类说过英文的  减少代码的量
}

2.基于接口的匿名内部类

interface Pig {
    public void eat();
}
//不用再单独写一个类去实现这个接口
public class Demo3 {
    public static void main(String[] args) {
        new Pig() {
            @Override
            public void eat() {
                // TODO Auto-generated method stub
                System.out.println("吃");
            }
        }.eat();
    }

}






Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。