DESKTOP-QT2JO23_20200902-孙中霞

1 :问题

public static void main(String[] args) {
        class Boy implements Person {
            public void say() {// 匿名内部类自定义的方法say
                System.out.println("say方法调用");
            }
            @Override
            public void speak() {// 实现接口的的方法speak
                System.out.println("speak方法调用");
            }
        }
        Person per = new Boy();
        per.speak();// 可调用
        per.say();// 不能调用
    }
}
interface Person {
    public void speak();
}

​ per.speak()可调用,而per.say()不能调用,这时因为per是Person对象,要想调用子类的方法,可以强制类型转换:((Boy) per).say();或者直接改为Boy per = new Boy();。从中可发现,要想调用内部类的自定义的方法,必须通过内部类的对象来调用。那么,匿名内部类连名字都没有,怎么调用内部类自定义的方法?

2:解决

这个问题解决了一丢,还有一部分!!

3:吐槽

下午挺热的,教室里,感觉似乎空调坏了似的,从教室外边进来像进了蒸笼是的!

标签


© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1