Когда статический блок помещается в программу, является ли статический блок локальной частью области конструктора ?
класс "темп"
{
int x;
{
это. x=100;
Системы.из.код println("init-инициализация блока");
}
Температура()
{
это(20);
Системы.из.println(х);
Системы.из.код println("по умолчанию");
}
Temp(int x)
{
Системы.из.println(х);
Системы.из.println(х);
}
public static void main(String...a)
{
Температура Т = новый темп();
}
}
// выход
Блок Init
20
20
100
по умолчанию
почему не приходит выход
блок init
100
100
100
по умолчанию
Что я уже пробовал:
класс "темп"
{
int x;
{
это. x=100;
Системы.из.код println("init-инициализация блока");
}
Температура()
{
это(20);
Системы.из.println(х);
Системы.из.код println("по умолчанию");
}
Temp(int z)
{
Системы.из.код println("блок значение init" +з);
Системы.из.код println("значение конструктор" +х);
}
public static void main(String...a)
{
Температура Т = новый темп();
}
}
// Нет затенения данных, проблема возникает при использовании затенения данных
Suvendu Shekhar Giri
так в чем же здесь вопрос?
Member 12785791
при инициализации блока конструктора. Является ли переменная x локальной частью конструктора или нет, если ее локальная часть, то почему она печатает 100 вместо печати 20.
Member 12785791
потому что местный приоритет всегда высок и эта штука сбивает меня с толку
Member 12785791
да это моя опечатка прошу прощения