#java
Например, у нас есть класс MyClass. Чем вот эта запись MyClass class = new MyClass(); отличается от этой MyClass class;
Ответы
Ответ 1
MyClass myClass = new MyClass(); Вы объявляете переменную или поле myClass типа MyClass. Создаете новый экземпляр (объект) класса MyClass. Присваиваете ссылку на созданный экземпляр переменной. MyClass myClass; Вы объявляете переменную или поле myClass типа MyClass. Переменная не инициализирована никаким значением, работать с ней нельзя, пока вы не присвоите ей ссылку на какой-нибудь экземпляр.Ответ 2
Для более эффективного использования памяти, в Java используются так называемые пулы. Есть строковый пул, Integer pool и тд. Вот пример кода: Integer a = 120; Integer b = 120; Integer c = 130; Integer d = 130; Integer e = 127; Integer f = 127; System.out.println("a==b :" + (a==b)); // true , cравнение двух ссылок на объект но объект не создавался System.out.println("c==d :"+ (c==d) ); // false, мы вышли за границы System.out.println("e==f :" + (e==f) ); // true Что вам еще пригодится: "Разница между Stack и Heap памятью в Java" Вот на stackoverflow запись >>>
Комментариев нет:
Отправить комментарий