public class Main {
public static void main(String[] args) {
Main m = new Main() {
@Override
public void test(String s) {
System.out.println("重写" + s);
}
};
m.test("hello"); // 输出:重写hello
}
public void test(String s) {
System.out.println(s);
}
}
匿名内部类的 “匿名” 特性,本质是指类本身没有显式声明的类名,而非对象没有引用变量
- 类本身没有名字:
new Main() {...}部分直接定义了一个继承自Main的子类,但这个子类没有独立的类名(比如MyChildClass这样的名字)。 - 对象有引用变量:变量
m是这个匿名子类的实例的引用,但类本身仍然是匿名的。
1342

被折叠的 条评论
为什么被折叠?



