所以我不能以一種非常易於理解的方式找到這個問題的具體答案。所以如果這是一個愚蠢的問題,請和我一起裸露。C#內存/對象理解
如果我實例化一個對象,如:
public class Program
{
public static PlayerShip mainShip = new PlayerShip();
然後在另一個類我做的:
public class RandomEncounters
{
PlayerShip subShip = new PlayerShip();
public void PlayEncounter()
{
subShip = Program.mainShip;
}
}
我的理解是,無論subShip和mainShip在現在引用相同的對象「堆「或內存。這是正確的,也是...這是一個壞主意?我非常喜歡初學者(只有1-2周),所以任何指導都將非常感激。
謝謝! -Brandon
爲什麼'PlayerShip subShip = new PlayerShip();'而不是'PlayerShip subShip'的行;'您正在創建兩個實例,但您正在使用Program類的PlayerShip引用覆蓋此實例的引用 –
好點!我改變了它。你是對的,如果我只是重寫參考文獻,那麼做新球員是沒有意義的。謝謝! – Icywata
不要擔心堆或堆棧。擔心通過引用或按值複製;這是您需要了解的相關差異。 –