Java 同一类中的类名变量不理解概念

Java 同一类中的类名变量不理解概念,java,class,Java,Class,当我们创建类对象时,我无法理解下面关于它如何工作的概念 class MyClass { int data; MyClass var; } 我完全不知道它将如何工作,以及创建相同类名的对象的目的是什么。我不明白这个声明的概念是什么。在您的例子中,MyClass的每个实例都可以引用MyClass的另一个实例。这个名字并没有暗示你为什么想要它。但一般来说,这种结构允许链接、装饰和嵌套 例如,您可以实现一系列处理步骤。每一个调用链中的下一个,直到结束var==null 或者,您的类

当我们创建类对象时,我无法理解下面关于它如何工作的概念

class MyClass {
    int data;
    MyClass var;  
}

我完全不知道它将如何工作,以及创建相同类名的对象的目的是什么。我不明白这个声明的概念是什么。

在您的例子中,MyClass的每个实例都可以引用MyClass的另一个实例。这个名字并没有暗示你为什么想要它。但一般来说,这种结构允许链接、装饰和嵌套

例如,您可以实现一系列处理步骤。每一个调用链中的下一个,直到结束var==null

或者,您的类可以包装该类的另一个实例,并在将它们委托给包装的实例之前执行类似于日志方法调用的操作


类似的结构可用于将树建模为一个节点,每个节点都有一个子节点列表和子节点列表。叶节点将没有子节点。

在您的情况下,MyClass的每个实例都可以引用MyClass的另一个实例。这个名字并没有暗示你为什么想要它。但一般来说,这种结构允许链接、装饰和嵌套

例如,您可以实现一系列处理步骤。每一个调用链中的下一个,直到结束var==null

或者,您的类可以包装该类的另一个实例,并在将它们委托给包装的实例之前执行类似于日志方法调用的操作


类似的结构可用于将树建模为一个节点,每个节点都有一个子节点列表和子节点列表。叶节点将没有子节点。

当您想要对一些真实场景建模时,可能必须使用此概念

例如,想象一棵树的树枝。一棵树的树枝上可能有n根树枝。分支将引用其旁边的分支

class Branch {
    Branch branch1;
    Branch branch2;
    Branch branch3;
}

当您想要对一些真实场景建模时,您可能必须使用这个概念

例如,想象一棵树的树枝。一棵树的树枝上可能有n根树枝。分支将引用其旁边的分支

class Branch {
    Branch branch1;
    Branch branch2;
    Branch branch3;
}

这是一个完全有效的Java类声明。MyClass var的示例;在您的代码中是指:

假设这个类叫做Directory,它表示现实生活中硬盘驱动器中的一个目录位置,为了简单起见,我们想模拟一个目录可以有更多的子目录,只有一个:。所以我们可以用这个结构来模拟:

class Directory {
    int amountOfFolders;
    Directory subdiretory;         // <-- child object(directory)!
    // Directory[] subdiretories;  // out of curiosity, this would be much more real
}
演示:


下面是代码的示例。

这是一个完全有效的Java类声明。MyClass var的示例;在您的代码中是指:

假设这个类叫做Directory,它表示现实生活中硬盘驱动器中的一个目录位置,为了简单起见,我们想模拟一个目录可以有更多的子目录,只有一个:。所以我们可以用这个结构来模拟:

class Directory {
    int amountOfFolders;
    Directory subdiretory;         // <-- child object(directory)!
    // Directory[] subdiretories;  // out of curiosity, this would be much more real
}
演示:


这是使用此代码的示例。

您熟悉链表吗?这个概念实际上是一样的。在现实生活中:你是一个人。你有一个父亲。你父亲也是一个人。在您的示例中,将MyClass替换为Person,将var替换为father,这样您就可以将这种实际情况建模为一个类。是的,但它是如何工作的,正如我提到的方法名与类名相同,称为构造函数,但这种类型的声明称为什么???您发布的代码中没有方法,也没有构造函数。所以我不知道你在说什么。您拥有的是一个类,包含两个字段或实例变量。鸡和蛋的两难境地,不是吗?你熟悉链表吗?这个概念实际上是一样的。在现实生活中:你是一个人。你有一个父亲。你父亲也是一个人。在您的示例中,将MyClass替换为Person,将var替换为father,这样您就可以将这种实际情况建模为一个类。是的,但它是如何工作的,正如我提到的方法名与类名相同,称为构造函数,但这种类型的声明称为什么???您发布的代码中没有方法,也没有构造函数。所以我不知道你在说什么。您拥有的是一个类,包含两个字段或实例变量。鸡和蛋的困境,不是吗?谢谢,我能理解,但请你能给我看一下它的实现用简单的例子谢谢,我能理解,但请你能给我看一下它的实现用简单的例子。。