Контрольная работа: Программирование на Java

3. выполнение блоков инициализации объекта;

4. выполнение тела конструктора класса.

Для других классов порядок аналогичен, но без вызова метода main:

1. инициализация полей данных и выполнение блоков инициализации класса (в порядке записи в декларации класса);

2. выполнение блоков инициализации объекта;

3. выполнение тела конструктора класса.

Чем лучше пользоваться, блоками инициализации или конструкторами? Ответ, конечно, неоднозначен: в одних ситуациях – конструкторами, в других – блоками инициализации. Для придания начальных значений переменным класса в случаях, когда для этого требуются сложные алгоритмы, можно пользоваться только статическими блоками инициализации. Для инициализации полей объектов в общем случае лучше пользоваться конструкторами, но если необходимо выполнить какой-либо код инициализации до вызова унаследованного конструктора, можно воспользоваться блоком динамической инициализации.

Приведем несколько примеров. Программа SmallSquares (маленькие квадраты) возвращает квадрат маленького целого числа. SmallSquares имеет две статические переменные и единственную открытую статическую функцию getSquare().

public class SmallSquares {

private static final int LIMIT = 10;

private static final int[] square = new int[LIMIT];

public SmallSquares() {

for (int i = 0; i < LIMIT; i++) {

square[i] = i * i;

}

}

}

public static int getSquare(int i) {

return square[i];

}

public static void main(String[] args) {

new SmallSquares();

System.out.println("3 squared is " +

getSquare(3));

}

}

Откомпилировав и запустив SmallSquares, получим следующий результат:

3 squared is 9 (3 в квадрате будет 9)

В данном коде объект создается при помощи конструктора так называемым статическим методом.

К-во Просмотров: 377
Бесплатно скачать Контрольная работа: Программирование на Java