Java 类变量还是对象?
如果一个程序包括两个名为Java 类变量还是对象?,java,oop,object,syntax,Java,Oop,Object,Syntax,如果一个程序包括两个名为地形和模拟的类,则地形类中有一行: private static Simulation sim; 这类似于创建simulation类的新对象,可通过以下语法实现: Simulation sim = new Simulation(); 或者这是否意味着sim是类类型Simulation的变量 public class terrain { private static Simulation sim; public static void main(Str
地形
和模拟
的类,则地形
类中有一行:
private static Simulation sim;
这类似于创建simulation类的新对象,可通过以下语法实现:
Simulation sim = new Simulation();
或者这是否意味着sim
是类类型Simulation
的变量
public class terrain {
private static Simulation sim;
public static void main(String[] args) {}
}
public class Simulation {}
类似于创建simulation类的新对象,可以通过以下语法实现:
否,使用此
专用静态模拟sim卡
您正在声明类仿真的一个对象,该对象位于下面的类地形中,而不是您实例化的该类对象。私有静态仿真sim代码>仅声明一个静态的未初始化变量
您仍然需要将其分配给实例,例如:
private static Simulation sim=new Simulation()代码>
这是地形
类中模拟
类型的静态
(类)变量的声明
这是否意味着sim
是类类型Simulation
的变量
public class terrain {
private static Simulation sim;
public static void main(String[] args) {}
}
public class Simulation {}
是的,的确如此
这是否类似于创建模拟类的新对象
不,您只是声明了它,没有初始化。我在声明之后直接初始化了它:
private static Simulation sim = new Simulation();
最好阅读入门教程,了解变量和对象的确切含义。这些都是您需要冷理解的关键概念。有大量关于静态变量的内容,以及许多此类声明的示例。但都是一样的——您在两种情况下都声明了静态变量,一种是基元,另一种是引用变量。唯一的区别在于初始值,对于未初始化的参考变量,初始值始终为null
,您可以将对象视为可以保留的内存空间,以容纳其属性。在这种情况下,模拟是一个变量(因为您可以为其赋值),它是一个对象(因为可以实例化它并为其属性赋值)。我希望这有助于澄清:-)@Leo:不,对不起,我是个固执的人,但我们不能给新手错误的信息,理解这些概念是至关重要的<代码>模拟
不是一个变量。这是一种类型,也是一种类别。只有sim
是模拟类型的变量sim
可以分配一个Simulation
对象或一个属于Simulation
子对象的任何类型的对象。