2013-09-14 3 views
3

Я не профессионал в ООП, поэтому, пожалуйста, несите меня.Что такое "static {}" в Java?

Этот кусок кода из авто андроида генерировать Master/Detail Flow проект:

static { 
     // Add 3 sample items. 
     addItem(new DummyItem("1", "Item 1")); 
     addItem(new DummyItem("2", "Item 2")); 
     addItem(new DummyItem("3", "Item 3")); 
    } 

Что это? Я имею в виду, это метод? Конструктор? Или что?

+1

Его ключевое слово в Java, статическое обширное, и ему не нужен экземпляр. Я бы предложил вам Google, чтобы получить дополнительную информацию. – Skynet

+1

Он имеет наивысший приоритет для исполнения. Если вы хотите выполнить какие-либо инструкции перед основным методом, напишите в статическом блоке. –

+0

Спасибо. Я google что-то вроде статической java, но все, что я получаю, это «статический класс», «статический метод» и т. Д. –

ответ

6

Это называется static initializer. Оно выполняется, когда класс загружен (или инициализирован, если быть точным, но вы обычно не замечаете разницу).

Подробнее:

+0

Спасибо за объяснение и ссылку: D –

3

Это называется статическим блоком.

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

+0

Спасибо за помощь: D –

0

Это называется статическим block..It выполняется перед основным методом во время класса loading..It используется для инициализации статических данных члены ... Используя статический блок, мы можем выполнить программу без основного метода ....

Смежные вопросы