Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 7

Загрузка класса со static блоком

03.06.2016, 22:09. Показов 644. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Пример простой, но хотелось бы понимать суть происходящего.
Есть класс с незатейливым названием A1, в этом классе статический
метод m, и static блок.

Java
1
2
3
4
5
6
7
8
9
public class A1 {
    public static void m() {
        System.out.println("======Method m=======");
    }
 
    static{
        System.out.println("========Loaded A1========");
    }
}
Компиляция и выполнение - с включенной опцией JVM -verbose.
Обращаемся к методу m -
Java
1
2
3
4
5
public class Tst {
    public static void main(String[] args) {
    A1.m();
    }
}
Как и положено, загружается класс A1, видим вывод статического
блока и метода м.

[Loaded A1 from file:/D:/JavaProject/tst/out/production/tst/]
========Loaded A1========
======Method m=======
Потом изменяю main -

Java
1
2
3
4
5
6
public class Tst {
    public static void main(String[] args) {
//    A1.m();
        System.out.println(A1.class);
    }
}
Класс загружается, но вывода статического блока нет -

[Loaded A1 from file:/D:/JavaProject/tst/out/production/tst/]
class A1
Почему так происходит, ведь класс A1 в обоих случаях загружается?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2016, 22:09
Ответы с готовыми решениями:

Вызов public метода public класса внутри static метода static класса
Подскажите, пожалуйста, возможен вызов не статического метода не статического класса внутри статического метода статического класса? ...

Использовать private члены класса внутри static ф-ий этого же класса.
Все привет! Такая вот проблема. Есть класс (естественно тестовый, для пример): class SCRIPT{ private: SCRIPT(); ...

Static поля класса
объясните нубу, вот имею я такой код на С# class WebResponse { public static string GET(string Url, string Data) ...

3
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
03.06.2016, 22:23
Вот спека - http://docs.oracle.com/javase/... l#jls-12.4
A class or interface type T will be initialized immediately before the first occurrence of any one of the following:
- T is a class and an instance of T is created.
- T is a class and a static method declared by T is invoked.
- A static field declared by T is assigned.
- A static field declared by T is used and the field is not a constant variable (§4.12.4).
- T is a top level class (§7.6), and an assert statement (§14.10) lexically nested within T (§8.1.3) is executed.
Очевидно ни один из вариантов - не ваш.
0
 Аватар для ninjacut
155 / 154 / 53
Регистрация: 30.04.2016
Сообщений: 321
03.06.2016, 22:24
Загружается, но не инициализируется. Если прописать вот так:
Java
1
Class.forName("Tst");
то должен вывестись блок.
0
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 7
03.06.2016, 22:35  [ТС]
turbanoff, ninjacut, спасибо за ответы.
Теперь понятно.
В общем, спецификация - это как устав для солдата.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2016, 22:35
Помогаю со студенческими работами здесь

Static члены класса
Здравствуйте. есть класс, например point { public: float x; float y;

Static член класса
Всем привет! Подскажите, пожалуйста, почему так писать нельзя: В хедере объявляю статический метод: public: explicit...

Static-член класса
Подскажите пожалуйста в чем проблема, не получается инициализировать static-член указатель на объекты класса. counter инициализируется...

Static в описании метода класса
всем привет. что такое static в описании метода класса или самого класса. что такое статичный метод? что такое не статичный метод?

Static поле у внутреннего класса
Есть класс, скажем Building, в нем есть еще один класс, скажем Floor. И вот этот Building хранит несколько экземпляров класса Floor. Что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru