A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小聪 中级黑马   /  2012-12-20 20:49  /  1269 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类的嵌入
(1) 类可以嵌入另一个类中,但不能嵌入接口中。
(2) 在静态方法或其他方法中,不能直接创建内部类对象,需通过手段来取得。
手段有两种:
class A {
class B {}
B getB() {
    B b = new B();
    return b;
}
}
static void m() {
    A a = new A();
    A.B ab = a.getB(); // 或者是 A.B ab = a.new B();
}
(3) 一个类继承了另一个类的内部类,因为超类是内部类,而内部类的构造方法不能自动
被调用,这样就需要在子类的构造方法中明确的调用超类的构造方法。
接上例:
class C extends A.B {
C() {
    new A().super();  // 这一句就实现了对内部类构造方法的调用。
}
}
构造方法也可这样写:
C(A a) {
    a.super();
}  // 使用这个构造方法创建对象,要写成C c = new C(a); a是A的对象。

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马