Java 这个申报什么?

Java 这个申报什么?,java,class,Java,Class,这会使类的对象变得整洁吗?如果有帮助的话,我目前正在尝试学习链表 对不起,我不知道如何用谷歌搜索它。这声明了一个类型为Neat的字段。因此,整洁对象将有一个childrenNeat字段 public class Neat { public Neat asdf; } 这将创建一个名为Neat的类,该类声明一个名为asdf的Neat类型的成员变量。成员变量asdf是对null的引用 此代码不会创建对象的实例这是一个具有与类相同类型的成员变量的类。在这种情况下,这是完全合法的,但也可能是危

这会使类的对象变得整洁吗?如果有帮助的话,我目前正在尝试学习链表


对不起,我不知道如何用谷歌搜索它。

这声明了一个类型为
Neat
的字段。因此,整洁对象将有一个children
Neat
字段

public class Neat {

    public Neat asdf;
}

这将创建一个名为
Neat
的类,该类声明一个名为
asdf
Neat
类型的成员变量。成员变量
asdf
是对
null
的引用


此代码不会创建对象的实例这是一个具有与类相同类型的成员变量的类。在这种情况下,这是完全合法的,但也可能是危险的。例如,如果您将代码更改为仅实例化变量

 Neat n = new Neat();
 n.asdf = new Neat();
然后在其他地方创建一个
Neat
,您的程序将因一个
StackOverflowError
而崩溃,因为每个实例都会创建一个新实例,这将创建一个新实例,依此类推。目前,您的程序创建了一个引用变量,但没有创建实例,因此不会再创建其他实例

public Neat asdf = new Neat();
不,它并没有创建对象,它只是一个变量,有可能创建一个整洁类的对象 但是


它将使尽可能多的对象变得整洁,并最终导致StackOverFlow…

它声明了一个类,该类定义了与该类相同类型的成员变量。我会考虑Google递归。也许ASDF指向当前整洁的父/子。因此,当你声明一个与该类同名的变量时,它会变成一个“点”的引用?与字符串或int等类型的数据不同,您可以声明
公共字符串
这将创建名为string的成员变量,类型为
string
。由于string是一个
对象
(一种引用类型),因此它也是对null的引用。下面是一个成员(或实例)变量的默认列表,谢谢!我想澄清一下,
公共字符串
是一个以null开头的引用,但可以指向字符串,
公共字符串引用是否也以null开头,但可以指向……任何东西?它可以引用null或某些字符串,例如String=“my String”;它也可以作为字符串的引用开始,例如public string string=“my string”我指的是
string
public class Neat {

public Neat asdf; //Focus here

public static void main(String...string){
    Neat n = new Neat();
}
}
public class Neat {

public Neat asdf = new Neat(); //Focus here

public static void main(String...string){
    Neat n = new Neat();
}
}