В чем разница между объявлением ссылочной переменной и ее инициализацией в Java? [закрыто]

Это помогло мне. Для добавления блока html-кода из b.html в a.html это должно перейти в тег head в a.html:

<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

Затем в теге body сделан контейнер с уникальным id и блоком javascript для загрузки b.html в контейнер следующим образом:

<div id="b-placeholder">

</div>

<script>
$(function(){
  $("#b-placeholder").load("b.html");
});
</script>
-10
задан Nikos Tzianas 18 January 2019 в 10:00
поделиться

2 ответа

В объявлении и назначении объекта в Java есть три шага

  1. Solution solution

    Вы говорите Java, чтобы выделить место для новая ссылочная переменная.

    Эта переменная всегда будет иметь тип Solution, и ее единственная цель - хранить ссылку на объект типа Solution.

    Но мы еще не создали этот объект, не так ли?

  2. решение = new Solution();

    создание объекта. Java выделяет пространство для нового объекта и создает его. Это включает в себя место для любых переменных, которые идут вместе с объектом ( это переменные экземпляра )

  3. решение = новое решение ();

    Мы присваиваем ссылочную переменную вновь созданному объекту (обратите внимание на знак равенства).

    Другими словами, эта ссылочная переменная теперь будет связана с этим объектом, и мы можем использовать эту ссылку для вызова методов для нее.

    Обратите внимание, что последние два шага представляют собой одну строку кода, но на самом деле здесь происходит два разных шага.

В чем разница между следующим?

Solution solution создали пустую ссылку, переменную, ожидающую назначения объекта.

Solution solution = new Solution() сделали все три шага в одной строке кода.

Он создал ссылку, создал объект и соединил их вместе.

Вы можете узнать больше о распределении памяти в Java и программировании в целом здесь:

Где переменные экземпляра Object хранятся в JVM? [ 117]

Что и где находится стек и куча?

0
ответ дан Nikos Tzianas 18 January 2019 в 10:00
поделиться
Solution solution;

только определяет, что переменная solution является Solution, но в противном случае она неинициализирована

Solution solution = new Solution();

и инициализирует ее как экземпляр Solution

0
ответ дан Tacratis 18 January 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: