メインクラスにビットマップとキャンバスのインスタンスがあるAndroid用のゲームを作ろうとしています。
たとえば、レンダラー クラスの別のインスタンスがあります。そのレンダラー クラスは同じパッケージに含まれていますが、メイン クラスのサブクラスではありません。
ビットマップとキャンバスのインスタンスをそのレンダラー クラスのメソッドに渡し、そのメソッドが渡されたビットマップを渡されたキャンバスに描画する場合、実際のインスタンスが渡されますか、それとも新しいインスタンスのコピーが作成されてから渡されますか? さて、実際のインスタンスが渡されていることを試してみました。ビットマップがキャンバスに描画されているのを見ていたためです。
これが私の質問です。実際のインスタンスが渡されるのはなぜですか? こんな感じだったら ->
public class instanceTest
{
static int num;
static void numIncrementor(int number)
{
number++;
}
public static void main(String[] args)
{
num = 0;
numIncrementor(num);
System.out.println(num);
}
}
ここで、num を印刷すると、まだ 0 になりますが、他のビットマップとキャンバスのものでは、実際のインスタンスを送信します。これは私を本当に混乱させました。誰かがそれを説明できますか?それとも、プリミティブ型とは異なり、クラスオブジェクトには常に当てはまりますか? それはガベージコレクターを狂わせますか?
事前に感謝します。私の英語を理解していない場合は、教えてください。明確にするためにここに疑似コードを入れます。