Size: a a a

2020 November 06

n.

ns ... in learn.java
false и null
источник

АZ

А - Z in learn.java
String str  = null
источник

АZ

А - Z in learn.java
Тоже самое шо - String str;
источник

GV

Gukov Viktor in learn.java
А - Z
По умолчанию оно null
Нет
источник

GV

Gukov Viktor in learn.java
У локальных переменных вообще нет значений по умолчанию
источник

n.

ns ... in learn.java
Что то я запутался совсем )))
источник

DK

Dmtr Klkv in learn.java
Нужно объявить переменные в классе и сделать их статическими
источник

DK

Dmtr Klkv in learn.java
Тогда в методе напечатается
источник

L

Linnik 🎄 in learn.java
Dmtr Klkv
Нужно объявить переменные в классе и сделать их статическими
Ему не нужно то, что нужно сделать. Ему нужно понять почему
источник

GV

Gukov Viktor in learn.java
ns ...
Что то я запутался совсем )))
Если ты используешь локальные переменные, у них нет значений по умолчанию, их всегда нужно инициализировать перед использованием.
Если ты используешь свойства класса, то у них есть значения по умолчанию. Для boolean будет false, для String - null
источник

n.

ns ... in learn.java
Dmtr Klkv
Если ты декларируешь переменные внутри метода, то это локальные переменные метода, если в классе, то в классе. К значениям по умолчанию это отношения не имеет.
То есть переменные в методе не имеют значении по умолчанию.
И выше сказанное - является ложью?
источник

DK

Dmtr Klkv in learn.java
Это происходит потому, что переменные без слова static не будут проинициализированы к моменту вызова println. Статические данные всегда загружаются первыми.
источник

n.

ns ... in learn.java
Gukov Viktor
Если ты используешь локальные переменные, у них нет значений по умолчанию, их всегда нужно инициализировать перед использованием.
Если ты используешь свойства класса, то у них есть значения по умолчанию. Для boolean будет false, для String - null
спс. теперь прояснилось вроде как.
источник

GV

Gukov Viktor in learn.java
ns ...
спс. теперь прояснилось вроде как.
Подумай что такое переменная. Это некая именованная область памяти, в которой может находиться значение определенного типа. Так как ты её только что объявил, но не инициализировал, то в этой области памяти будет находиться какой-то мусор. Поэтому компилятор тебе не дает её использовать.

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

n.

ns ... in learn.java
ясно.
Спасибо всем.
источник

DK

Dmtr Klkv in learn.java
Дело не в том локальные они или нет, дело в очередности действий. Сначала инициализируется класс и все его переменные, а потом методы. Например, если сделать локальные переменные метода статическими, то компилятор скажет: нельзя ссылаться на статическую область памяти из нестатического окружения, поэтому или уберите слово статик или зделайте метод статическим.
источник

GV

Gukov Viktor in learn.java
Dmtr Klkv
Дело не в том локальные они или нет, дело в очередности действий. Сначала инициализируется класс и все его переменные, а потом методы. Например, если сделать локальные переменные метода статическими, то компилятор скажет: нельзя ссылаться на статическую область памяти из нестатического окружения, поэтому или уберите слово статик или зделайте метод статическим.
А что подразумевается под "инициализацией методов"?
источник

A

Anton in learn.java
Dima
хотя я бы конечно вообще никогда не присылал сообщения внутри пользователя
у меня есть диалоги)
источник

n.

ns ... in learn.java
Dmtr Klkv
Дело не в том локальные они или нет, дело в очередности действий. Сначала инициализируется класс и все его переменные, а потом методы. Например, если сделать локальные переменные метода статическими, то компилятор скажет: нельзя ссылаться на статическую область памяти из нестатического окружения, поэтому или уберите слово статик или зделайте метод статическим.
Так у меня метод и есть статик.
а переменные без статика
источник

n.

ns ... in learn.java
источник