我想知道是否可以像在 JavaScript 中那样在 Java 中内嵌声明一个对象。例如,在 JavaScript 中我可以说
let nameOfObject = {
anyKey: "my value",
someOtherValue: 5
};
console.log(nameOfObject.anyKey);// This logs "my value"
Run Code Online (Sandbox Code Playgroud)
这将创建一个无类对象并分配 nameOfObject其为各种“指针”......我如何在 Java 中做到这一点?如何创建没有类的对象?
我找到了一种可能的解决方案,看起来像
Object nameOfObject = new Object(){
public String anyKey = "my value";
public int someOtherValue = 5;
};
System.out.println(nameOfObject.anyKey);
Run Code Online (Sandbox Code Playgroud)
但这似乎无法编译,并说“无法解析 anyKey”,并且根据其他一些消息来源,根本无法使用...
所以我可能做错了一些事情,或者可能有不同的方法,或者它可能直接用 Java 是不可能的,我需要以不同的方式来做......
class Some{
public String anyKey;
}
Some some = new Some() {
this.anyKey = "my value";
};
Run Code Online (Sandbox Code Playgroud)
这段代码抛出一个错误说Syntax error, insert ";" to complete declaration,但是
class Some{
public void anyMethod() {
}
}
Some some = new Some() {
public void anyMethod() {
System.out.println("Okay");
}
};
Run Code Online (Sandbox Code Playgroud)
工作得很好?
我不明白这里发生了什么,但我真的很感激解释和/或解决方案(如果存在的话)。