簡體   English   中英

在Java中創建新對象錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM