在 Java 中创建实例变量和创建新对象的区别?

Imo*_*ith 2 java class

我理解创建对象和创建变量之间的区别。例如:

private int number;
MyClass myObj = new MyClass();
Run Code Online (Sandbox Code Playgroud)

但我的观点是这两者之间有什么区别?

private MusicPlayer player;
player = new MusicPlayer();
Run Code Online (Sandbox Code Playgroud)

MusicPlayer 是一个类,但我们到底在做什么?

Aly*_*mal 5

private MusicPlayer player;
Run Code Online (Sandbox Code Playgroud)

在这里,您创建了一个MusicPlayer类的引用变量(但它不会创建一个对象)而没有对其进行初始化。所以你不能使用这个变量,因为它没有指向任何地方(它是空的)。

例如,使用一个Point类:

Point originOne;
Run Code Online (Sandbox Code Playgroud)

可以这样表示:

在此处输入图片说明


player = new MusicPlayer();
Run Code Online (Sandbox Code Playgroud)

在这里,您分配一个类型为 的对象,MusicPlayer并将其存储在player引用中,以便您可以使用其上的所有函数。

例如,使用一个Point类,带有xy坐标:

Point originOne = new Point(23, 94);
Run Code Online (Sandbox Code Playgroud)

可以这样表示:

在此处输入图片说明


两行的组合相当于:

private MusicPlayer player = new MusicPlayer();
Run Code Online (Sandbox Code Playgroud)