挑战一:对象到底有几个?
选择一个答案后校验。
null把每个引用变量看成一张写着“对象引用值”的便签。改写便签不会复制对象;多张便签写着同一个引用值时,它们就是别名。
最多保留 3 个对象。重新赋值后,旧对象可能变成“不可达”。
b = a 只让两张便签保存同一个对象的引用值,不会复制 BankAccount。
若 a 与 b 指向同一对象,借任一引用存款,另一引用读取到的也是新余额。
引用变量可以保存 null;通过它访问字段或方法时,会触发 NullPointerException。
建议先加载“小林账户”场景,再回答。答案会根据当前白板状态校验。
选择一个答案后校验。
可先选择 b,再点击 deposit(50) 观察。
BankAccount a = new BankAccount("小林", 300);
BankAccount b = a; // 复制引用,不复制对象
BankAccount c = null;
b.deposit(50); // a.balance 与 b.balance 都是 350