所以,如果我只是遗漏了一些非常明显的东西,我现在有点困惑,但希望这是一个简单的问题
我创建了一个用户定义的对象,其中包含两个构造函数,默认的无参数构造函数和一个以整数作为参数的构造函数
然后我在另一个类中创建了一个引用var而没有创建该对象 所以像这样
public class A{
int num;
public A{}
public A(int num){this.num = num;}
}
public class B{
A a;
}
所以这就是我的问题所在,在B类中,根据我的理解,实例变量 a 应该得到默认值 null ,因为它是一个对象引用,但我得到的默认值为 0
从查看我的代码我知道这个行为是由我的类A构造函数中的int param的param类型引起的
public A(int num){this.num = num;}
为什么会这样?为什么它不是空的?
由于
答案 0 :(得分:0)
如果你说
B b = new B();
// b.a == null #TRUE
b.a = new A();
// b.a == null # FALSE
// b.a.num == 0 #TRUE
答案 1 :(得分:0)
WITH cte AS (
SELECT * FROM ...
)
UPDATE table_to_update
SET column_from_table_to_update = cte.some_column
FROM cte
WHERE table_to_update.id = cte.id