有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

获取对java中包含类的引用

我是Java新手。我是C++程序员,阅读一些java代码。我有这样的阶级定义:

class Container {
    long ID;

    class Contained {
        void foo(){
            long parentID = ID;
        }
    }
}

我发现Contained可以访问Container类的任何成员,只需通过名称即可

我有一个问题:

这是怎么回事?在C++中,这些类将是无关的。但在Java中,所包含的类对象似乎隐式地绑定到父类对象的实例

谢谢 曼尼什语

PS:对不起,我知道我可以买一本关于Java的书,但我希望有人能帮我


共 (3) 个答案

  1. # 1 楼答案

    这是一个嵌套类。它的生命周期与父类相关联。阅读here以获得充分理解

  2. # 3 楼答案

    由于Contained类没有声明为static,这意味着它只能存在于Container类的实例中,因此可以访问Container的所有方法和变量

    如果你已经声明^ {CD1>}为^ {< CD2>},它将模仿你更习惯使用的C++用法,你可以有嵌套类的实例而没有^ {CD3>}的实例。

    详见Java inner class and static nested class