我对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示例中一样。 希望任何人都可以帮助:)
答案 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