Ссылки имена. Объекты - это вещи. У вас могут быть разные имена для вещей, даже для вещей, которые на самом деле не существуют.
Вы можете объявить имена, фактически не давая им никакого «реального» означает, как это:
GUI g1;
Вы можете присвоить значение (реальный материал для обозначения) для имен с оператором =:
GUI g1 = some_gui;
Имена могут изменить свое значение с течением времени. Одно и то же имя может ссылаться на разные вещи в разных точках истории.
GUI g1 = some_gui;
doSomething();
g1 = some_other_gui;
Есть также синонимы: несколько имен может ссылаться на одно и то же:
GUI g2 = g1;
Это довольно много, что делать ссылки. Это имена, предназначенные для обозначения вещей.
Материал может быть создан:
new GUI();
Материал может быть создан и назван на месте для последующего использования (в буквальном смысле!):
GUI g1 = new GUI();
И материал можно назвать, используя его имя (или любое из его названий!):
g1.doSomething();
g2.doSomethingAgain();
Можно создать различные вещи того же рода (класса) и указать изд-разному:
GUI g1 = new GUI();
GUI g2 = new GUI();
GUI g3 = new GUI();
GUI g1_synonym = g1;
:)
Я думаю, что вы не можете использовать g2 в своем коде, потому что он еще не инициализирован и имеет значение null. – evilone
g1 - ссылка тоже! –
Я думаю, что этот вопрос заслуживает хорошего ответа, чтобы не отставать! – slezica