Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中初始化对象而不声明类或使用类_Java_Python_Object - Fatal编程技术网

在Java中初始化对象而不声明类或使用类

在Java中初始化对象而不声明类或使用类,java,python,object,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

我有一个关于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示例一样。
希望任何人都能提供帮助:

Java是静态类型的,因此如果不声明类,就不能将变量指向实例化的对象

您可以创建不带指针的类,但垃圾收集机只会收集这些类,除非您将它们传递给使用您正在创建的新对象的对象

这在Java中算不了什么:

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


Java不知道如何处理它

Java不是python,您不能用匿名Dict实例化Java对象—您可以用类似于数组的语法实例化的唯一对象类型。就是这个

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

在Java中是合法的。

如果不隐式或显式调用构造函数,就无法在Java中创建对象,这涉及到创建一个为对象提供蓝图的类。例外情况是使用反序列化


有关在java中创建对象的所有可能方法,请参阅,我可以说myObject.x,它将是5。不,你不能。你想到的是JavaScript。虽然我猜在JS中,你必须省略键周围的引号。@Aran Fey OP大概是指myObject.get'x。你们都是对的。我的错。