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:吐槽
下午挺热的,教室里,感觉似乎空调坏了似的,从教室外边进来像进了蒸笼是的!
近期评论