Я пытаюсь создать игру для Android. У меня есть экземпляр растрового изображения и холста в моем основном классе.
У меня есть другой экземпляр, скажем, класса рендерера.Этот класс рендерера находится в том же пакете, но не подклассе моего основного класса.
Если я передаю экземпляр растрового изображения и холста методу этого класса рендерера, и этот метод будет отрисовывать этот переданный битовый массив переданномуcanvas, передаются ли фактические экземпляры или создаются и затем передаются новые копии экземпляров?Ну, я попробовал и увидел, что фактические случаи были переданы.Потому что я видел растровое изображение, нарисованное на холсте.
Вот мой вопрос, почему передаются фактические экземпляры?если это было что-то вроде этого ->
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, но с другими вещами с растровым изображением и холстом я отправляю фактические экземпляры.Это меня очень запутало.Может кто-нибудь объяснить это?Или это всегда имеет место с объектами класса в отличие от примитивных типов?Это делает сборщик мусора сумасшедшим?
Заранее спасибо, если вы не поняли мой английский, скажите, и я добавлю сюда псевдокоды для пояснения;