目录
前言
在上一篇文章中,主要讲了java的匿名内部类的理论知识,本篇就通过一个简单的实例来帮助我们更好的学习匿名内部类。
正文
题目
设计两个类A、B,在类A的主方法main里创建一个类B的匿名内部类对象,覆盖B中的方法f,并调用此方法。
分析
我们可以先创建B类,并在B类中定义一个方法f(),为了方便查看我们的覆盖结果,f()的巩固功能就仅是打印。然后在A类中对方法f()进行覆盖,即将f()的打印内容修改,最后查看输出结果是否覆盖成功。
代码
B.java
public class B {
//定义B类的f方法
public void f() {
System.out.println("B类的f方法");
}
}
A.java
public class A {
public static void main(String[] args) {
B b = new B(){
@Override
public void f() {
System.out.println("被覆盖的匿名内部类B的方法f");
}
};
b.f();//调用覆盖好后的f();
}
}
测试结果
被覆盖的匿名内部类B的方法f
输出结果为被覆盖后的内容,说明覆盖成功!