java - 扩展外部类在java中如何工作

标签 java inner-classes extends outer-classes

引用这个Question中的代码我想知道外部类的扩展是如何工作的。我的意思是一个类(内部类)如何可以在两个地方有其定义(由于是内部类而在外部类中以及由于扩展外部类而在其本身中)。完成后里面会发生什么。

谢谢

代码

public class Something {
    private int y;

        class IsSomething extends Something {

            public void print() {
                System.out.println("123");
            }

        }
}

最佳答案

内部类具有对其外部类的实例的引用。这是一种关系。

如果它扩展其外部类,它也与其外部类具有is-a关系。

所以它相当于以下两个顶级类:

public class Foo {
    ...
}

public class Bar extends Foo {
    private Foo outerFoo;
    ...
}

关于java - 扩展外部类在java中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008583/

相关文章:

java - hashcode数是否代表内存地址?

android - android中的嵌套内部Activity类

Django 从模板导入模型

javascript - 如何从子类Angular 2的父级中的@Input参数访问父级参数

java - 如何从使用tika提取的文本中获取频繁出现的词

java - 定义 SpoutConfig 参数

java - 水果射击游戏试图结束

java - 具有实例变量的通用内部类,该实例变量是另一个通用内部类的对象

Scala 内部类类型

java - C# 接口(interface)中的类型