白小白的日志

一个菜鸡的心酸之路....

导航

15.匿名内部类

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

package com.homework;
abstract class Dog {
     public abstract void eat();
     public void paly () {
         System.out.println("玩皮球");
     }
}
public class Demo4 {
    public static void main(String[] args) {
        //第一种方法
//             new Dog(){
//                 //需要重写其中的抽象方法
//                 @Override
//                 public void eat() {
//                     System.out.println("吃大肉!!!");
//                 }
//                 //非抽象类
//
//                 //调用
//             }.eat();
//             new Dog(){
//                 @Override
//                 public void eat() {
//
//                 }
//                 @Override
//                 public void paly() {
//                     System.out.println("玩泥巴!!!");
//                 }
//
//             }.paly();
        //第二种方法
        Dog dog = new Dog() {
            @Override
            public void eat() {
                System.out.println("吃骨头!!!!!");
            }
            //
            @Override
            public void paly() {
                System.out.println("玩pipi!!!");
            }
        };
        dog.eat();
        dog.paly();
    }
}

2基于接口的匿名内部类

package com.homework;
interface Cat {
    void drink();
}
public class Demo5 {
    public static void main(String[] args) {
        //第一种方法
//        new Cat(){
//            @Override
//            public void drink() {
//                System.out.println("喝牛奶");
//            }
//            //调用
//        }
        //第二种方法
        Cat cat = new Cat() {
            @Override
            public void drink() {
                System.out.println("喝汽水!!!!");
            }
        };
        cat.drink();
    }
}

 

posted on 2022-08-06 11:52  白小白的日志  阅读(24)  评论(0)    收藏  举报