我想要合併我的項目中的某些類。所以我不希望能夠使用新的SomeClass()實例化這些類,而是使用SomeClass.allocate()從池中獲取新項目。 我有這種類型的代碼需要合併每個類。Java:僅允許一個類實例化
public class GameObject
{
// Pooling: Provides a static method for allocation and a method for freeing
private static Pool<GameObject> pool = new Pool<GameObject>();
public static GameObject allocate() { return pool.obtain(); }
public void free() { pool.free(this); }
...
}
現在我可以禁用通過將默認構造函數實例私人的正常方式,但問題是,游泳池需要在創建時將類實例,並在池需要擴大。
是否有某種方法可以將建築限制在只有游泳池?
剛剛從C++移動到java嗎?因爲這種事情是用C++完成的,有時在這個世界裏是個好主意,但在java中可能永遠不是好主意。 – Kevin
我說順便說一句,因爲傳統的觀點是JVM比你做得更好。 – Kevin
你可以添加代碼如何在池中添加遊戲對象 – John