在不声明类或不使用类的情况下用Java初始化对象

时间:2018-07-29 15:36:26

标签: java python object

我对Java中的对象有一个普遍的疑问。我想在Java中初始化对象而不声明类或使用类。

例如在python中,您可以这样:

myObject = {"x":5,"y":10,"z":12,"name":"something"}

现在 myObject 是一个对象。我可以说myObject.x将是5。

据我所知,我必须在Java中这样做:

class object(){
   int x;
   int y;
   int z;
   String name;
   myObject(int x, int y, int z, String name){
       this.x = x;
       this.y = y;
       this.z = z;
       this.name = name;
   }
}

myObject = new object(10,5,12,"something")

我想这样做,但是就像在我的python示例中一样。 希望任何人都可以帮助:)

3 个答案:

答案 0 :(得分:2)

Java是静态类型的,因此您不能在不声明类的情况下将变量指向实例化对象。

您可以创建没有指针的类,但是除非将它们传递给使用正在创建的新对象的对象,否则它们将仅由垃圾回收机收集。

在Java中什么都不是:

myObject = {“ x”:5,“ y”:10,“ z”:12,“名称”:“某物”}

Java不知道如何处理它。

答案 1 :(得分:0)

Java不是python,因此无法使用匿名Dict实例化Java对象(可以使用 like 语法实例化的唯一对象类型那是一个数组)。也就是说,这

int[] a = {1, 2, 3};

在Java中是合法的。

答案 2 :(得分:0)

在没有隐式或显式调用构造函数的情况下,无法用Java创建对象,这涉及创建一个为对象提供蓝图的类。 (例外是使用反序列化)

有关在Java中创建对象的所有可能方式,请参考this question

相关问题