创建抽象类的匿名子类对象

2020-12-10  本文已影响0人  冯宏志
package com.atguigu.java;

public class Test {
    public static void main(String[] args) {
        method(new Student());//匿名对象
        Worker worker = new Worker();
        
        method(worker);//非匿名类的非匿名对象
        
        method(new Worker());//非匿名类的匿名对象
        
        //创建了一个匿名子类的非匿名对象:p
        Person p = new Person() {   //子类没有定义,直接在下面重写方法,形成一个子类
            @Override
            public void eat() {
                System.out.println("chifan");
            }
            
            @Override
            public void breath() {
                System.out.println("huxi");
            }
        }
        
        //创建了一个匿名之类的匿名对象
        method(new Person() {
            @Override
            public void eat() {
                System.out.println("chifan");
            }
            
            @Override
            public void breath() {
                System.out.println("huxi");
        });
        
        public void method(Person p) {
            p.eat();
            p.breath();
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读