[英]Creating new object in java error
我主要編寫了以下代碼:
if (startAmount>0) //create new cashier object with or without a start amount
Cashier newCashier = new Cashier(startAmount);
else Cashier newCashier = new Cashier();
並在第二和第三行出現了編譯錯誤:
Multiple markers at this line
- Cashier cannot be resolved to a variable
- Syntax error on token "newCashier", delete
和:
Multiple markers at this line
- Cashier cannot be resolved to a variable
- Syntax error, insert "AssignmentOperator Expression" to complete
Assignment
- Syntax error, insert ";" to complete Statement
但是當我用方括號編寫這樣的代碼時:
if (startAmount>0)//create new cashier object with or without a start amount
{
Cashier newCashier = new Cashier(startAmount);
}
else{ Cashier newCashier = new Cashier();}
看來還可以,沒有編譯錯誤。 有人可以幫助我理解為什么嗎?
為什么要為newCachier
參考創建陰影變量,您寧願這樣做
Cashier newCashier = null;
if (startAmount>0) //create new cashier object with or without a start amount
newCashier = new Cashier(startAmount);
else
newCashier = new Cashier();
最好添加這些花括號。 因為您在擴展代碼時不會忘記添加它們,否則會導致奇怪的行為。
我認為您可能會遇到第一個例外,因為您忘記將else語句放在新的一行,但是我不確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.