示例代码:
class AbstractTest { //这里类修饰符可以使用abstract 修饰
static abstract class A{
/* A作为抽象类,那么static 必须保留,做为类静态成员变量。 A内部类,为外部类AbstractTest 的一个成员属性,随着对象的创建而加载,不能直接调用内部类,要调用只能new AbstractTest ().A。要想继承的话,只能把内部类改成静态内部类,static abstract class A {},此时对着类的加载而加载。*/
abstract void say();
}
void c(){
System.out.println("sss");
}
}
class B extends AbstractTest.A{
public static void main(String[] args){
}
@Override
void say() {
// TODO Auto-generated method stub
}
}
重点:非静态内部类,伴随着类的实例化开辟内存单元。 A抽象内部类,为外部类AbstractTest 的一个成员属性,随着对象的创建而加载,不能直接调用内部类,要调用只能new AbstractTest ().A。要想继承的话,只能把内部类改成静态内部类,static abstract class A {},此时对着类的加载而加载。
|