嗨,这是一个基本问题,请多多包涵。
我有两个课,上课有另一个课的参考。创建头等舱实例时,如何创建头等舱中存在的第二类实例。是否有任何实用程序。
代码::
class A {
B b;
}
class B {
int member;
}
答案 0 :(得分:2)
class A {
B b;
public A(){
b = new B();
b.member = 5;
}
}
class A {
B b = new B(5);
}
class A {
B b;
{
b = new B();
b.member = 5;
}
}
答案 1 :(得分:1)
在第一个类的构造函数中:
var obj = {
"_15800175": {
"posID": "159469",
"scanID": "22597",
"anr": "15800175",
"TVanr": "",
"code": "G-09-27-2E",
"ean": "4710069680575",
"marke": "fox",
"bez": "jersey yellow",
"bez2": "size xl",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "TT9857BG\r\n",
"Langtext": ""
},
"_15100027": {
"posID": "159471",
"scanID": "22597",
"anr": "15100027",
"TVanr": "",
"code": "G-11-03-2A",
"ean": "4712511825411",
"marke": "fox",
"bez2": "jersey L",
"menge": "1",
"ve": "St\u00fcck",
"Dimensionstext": "blue\r\n",
"Langtext": ""
}
}
var menge_sum = Object.keys(obj).reduce(function(old, cur) {
old += Number(obj[cur]['menge'])
return old
}, 0);
console.log(menge_sum)
甚至是这样:
class A
{
public A()
{
b = new B();
}
B b;
}
答案 2 :(得分:1)
一般的解决方案是:
public class A {
private final B b;
public A(B b) {
this.b = b;
}
}
...
A a = new A(new B());
当两个实例相互引用时,这变得很有趣,然后您需要在至少一个类中使用setter:
public class B {
private A a; // the field cannot be final in this case
public void setA(A a) {
this.a = a;
}
}
....
B b = new B()
A a = new A(b);
b.setA(a);
该类创建其他实例本身的答案不是一般解决方案。