palak22 Ответов: 2

Использование статического блока в методах.


Я в основном уточняю, завершаю и пытаюсь скомпилировать тестовый код из справочника для начинающих java. Цель состоит в том, чтобы изучить работу статического блока.
class TimePass3 
{
	void show1()
	{
		int a;
		static
		{	
			System.out.println("Hi1");
		}	
	}
	void show2()
	{
		static
		{	
			System.out.println("Hi2");
		}	
	}

	public static void main(String[] args) 
	{
		show1();
		show2();
		static
		{	
			System.out.println("Hi2");
		}	
	}
}

При компиляции этого кода я получаю ошибку в
"Illegal start of expression static"

В чем же ошибка в этом коде?

Что я уже пробовал:

Пожалуйста, помогите мне решить эту проблему.
Спасибо.

2 Ответов

Рейтинг:
1

CPallini

Насколько я знаю, такие статические блоки (внутренние методы) являются незаконными в Java алгоритмический язык. Вместо этого у вас могут быть статические блоки в виде инициализатор класса, см., например: Java-статический класс, блок, методы и переменные[^].


palak22

вы уверены, что статические блоки внутри методов являются незаконными?

CPallini

Вполне уверен, хотя и не являюсь экспертом по Java. Есть ли у вас рабочий пример статического блока в методе?

Richard MacCutchan

CPallini является правильным. Вы не можете просто отбросить статические блоки в любом месте внутри таких методов. Пожалуйста, перейдите по ссылке, которую я привел выше (и по той, что в другом вашем вопросе), и изучите Java должным образом.