Вы неправильно понимаете, что означает "ссылочный тип".
Думайте об этом так. Представьте себе два дома, один на Сезам-стрит 123 и один на Пеннислвании-авеню, 1600. Это объекты ссылочного типа .
Теперь представьте, что у вас есть два куска бумаги. Один говорит "Улица Сезам 123". Один говорит "1600 Пенсильвания авеню". Это не дома; Вы не можете перейти к этим листам бумаги. Это ссылки на дома.
Теперь представьте, что у вас есть два выдвижных ящика с надписью "a" и "b". Это переменные ссылочного типа .
Вы кладете бумагу «Улица Сезам 123» в кассету «а». Вы не кладете дом в ящик. Вы кладете ссылку на дом в ящик. Переменная ссылочного типа хранит ссылку на объект . Вот почему она называется переменной ссылочного типа .
Затем вы делаете ксерокопию бумаги в кассете «а» и кладете ее в кассету «б». «b» теперь содержит копию ссылки . Ящики "а" и "б" теперь относятся к одному и тому же дому . Если вы раскрасите этот дом в красный цвет, дом, на который ссылаются бумаги в обоих ящиках, будет красным, потому что есть только один дом, на который ссылаются обе бумаги. Есть две ссылки на один и тот же дом и две переменные, которые содержат одну ссылку на каждую.
Затем вы достаете бумагу из ящика "а" и уничтожаете ее. Вы заменяете его бумагой с надписью «1600 Пенсильвания Авеню».
Это ничего не изменило в ящике "b"! Когда вы сказали «b = a», это означает «сделайте фотокопию ссылки, которая находится в ящике a, и поместите ее в ящик b». не означает, что «ящики a и b теперь являются двумя разными именами для одного и того же ящика».
Это имеет смысл?