Инициализация членов класса

Локальные переменные не инициализируются по умолчанию.

Примитивные типы –инициализируются нулями. Ссылочные значения поля класса инициализируются – null. Инициализировать поля можно:

1) явно

public class Init {

byte b = 47;

char ch = ‘x’;

Depth d = new Depth ();

}

2) инициализация конструктором

public class Counter {

int i;

Counter () {i=7;}

}

new Counter (); // в этот момент i получит 7, но перед этим i=0.

Порядок инициализации

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

Статические данные инициализируются при необходимости:

1) при создании первого объекта;

2) при первом обращении к статическим данным класса


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: