Java中的嵌套类与多态性详解
1. 构造函数调用问题
在Java编程中,构造函数的调用情况会因方法类型和类的访问权限而有所不同。例如以下代码:
class Fox {
private class Den {}
public void goHome() {
new Den();
}
public static void visitFriend() {
new Den(); // DOES NOT COMPILE
}
}
public class Squirrel {
public void visitFox() {
new Den(); // DOES NOT COMPILE
}
}
- 第一个构造函数调用
new Den()在goHome()方法中能够编译通过,因为goHome()是实例方法,该调用与this实例相关联。 - 第二个调用在
visitFriend()静态方法中无法编译,虽然仍可调用构造函数,但必须显式地提供一个Fox实例的引用。 - 最后一个在
Squirrel类的visitFox()方法中的调用也无法编译,原因有二:一是它虽为实例方法,但并非Fox <
超级会员免费看
订阅专栏 解锁全文
88

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



