2017-02-16 88 views
0

我昨天問過關於java對象的實例生成,如Entity作爲實例變量。 https://stackoverflow.com/questions/42239761/declare-entity-in-java-as-private在java中使用訪問修飾符的Intanstiate實體類

我不滿意的答案我得到,現在我想更清楚我的問題是什麼:

我已經EntityUser.java

@Entity(naming = NamingType.SNAKE_LOWER_CASE) 
public class User{ 

private String name; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

而且我有一類叫做UserImpl.java我所做的是:

public class UserImpl implements UserLogic { 

     private User userEntity = new User(); ------> // Bad practice 

     /** Methods **/ 
} 

正如你可以看到我宣佈爲用戶用戶實體實例Impl類。這是一種不好的做法嗎?

任何答案將不勝感激。

+0

爲什麼這是不好的做法?具體是'壞習慣'? – Dana

+0

@Dana,我的教授說這是一個不好的做法,因爲價值可能是不確定的。目前的狀態取決於其他方法。 –

+1

什麼值*具體*?你爲什麼不去上班時間禮貌地讓他們解釋自己?此外,我認爲編輯你最後一個問題比根據另一個問問題更好。你沒有得到任何答案,因爲你不夠清楚,這並不好。 – ChiefTwoPencils

回答

0

在另一個類中創建一個類的私有實例的簡單行爲根本不是一個壞習慣。事實上,這是非常普遍的,如果你不能這麼做,Java真的毫無意義。

我覺得這裏還有一些缺失的信息。根據「UserImpl」類的功能,這可能是一個不好的做法。但這完全取決於你如何去實現「UserImpl」類。例如,如果您打算在「UserImpl」類中創建各種方法,這些方法都以改變「userEntity」爲中心,那麼這可能是一個壞主意,因爲所有這些方法都可能進入「用戶」類本身會更簡單,更直觀。

tldr:這是不錯的做法,因爲它是現在,但取決於你的「UserImpl」類的目的,它可能會變成。