|
Здесь просто создаются ссылки на массивы, которые без инициализации
использовать нельзя.
Для того чтобы заказать память для массива, вы должны создать
соответствующие объекты с помощью ключевого слова new, например:
int[] nAnotherNumbers;
nAnotherNumbers = new int[15];
Как выполнить инициализацию ячеек таблицы?
Такую инициализацию можно выполнить либо статически, либо динамически. В
первом случае вы просто перечисляете значения в фигурных скобках, как это
показано ниже:
int[] nColorRed = {255, 255, 100, 0, 10};
Динамическая инициализация выполняется с использованием индекса массива,
например, в цикле:
int nInitialValue = 7;
int[] nAnotherNumbers;
nAnotherNumbers = new int[15];
for(int i = 0; i < 15; i++)
{
nAnotherNumbers[i] = nInitialValue;
}
Вы можете создавать массивы не только из переменных базовых типов, но и из
произвольных объектов. Каждый элемент такого массива должен инициализироваться
оператором new.
Массивы могут быть многомерными и, что интересно, несимметричными.
Ниже создается массив массивов. В нулевом и первом элементе создается массив
из четырех чисел, а во втором - из восьми:
int[][] nDim = new int[5][10];
nDim[0] = new int [4];
nDim[1] = new int [4];
nDim[2] = new int [8];
Заметим, что во время выполнения приложения Java виртуальная машина Java
проверяет выход за границы массива. Если приложение пытается выйти за границы
массива, происходит исключение.
Массивы в языке Java являются объектами некоторого встроенного класса. Для
этого класса существует возможность определить размер массива, обратившись к
элементу данных класса с именем length, например:
int[] nAnotherNumbers;
nAnotherNumbers = new int[15];
for(int i = 0; i < nAnotherNumbers.length; i++)
{
nAnotherNumbers[i] = nInitialValue;
}
Для определения размера массива вам не нужен такой оператор как sizeof из
языка программирования С, так как существует другой способ определения размера
массива.
Сборка мусора
Одна из интереснейших особенностей языка программирования Java и среды
выполнения приложений Java заключается в наличии специального процесса сборки
мусора, предназначенного для удаления ненужных объектов из памяти. Эта система
избавляет программиста от необходимости внимательно следить за использованием
памяти, освобождая ненужные более области явным образом.
Создавая объекты в Java, вы можете руководствоваться принципом “Создай и
забудь”, так как система сборки мусора позаботится об удалении ваших объектов.
Объект будет удален из памяти, как только на него не останется ни одной ссылки
из других объектов.
Приоритет процесса сборки мусора очень низкий, поэтому “уборка” среды
выполнения приложений Java не отнимает ресурсы у самих приложений.
Особенности реализации классов в Java
Если вы умеете программировать на языке С++, у вас не возникнет никаких
проблем с программированием на Java, так как эти языки очень похожи. Однако
есть и некоторые отличия, которые следует учитывать. Мы приведем только краткое
перечисление основных отличий. Более подробную информацию вы найдете в
литературе, список которой есть в конце книги.
Определение класса
Для создания классов вы можете использовать только ключевое слово class. Что
же касается union, то это ключевое слово в Java не применяется для создания
классов.
В языке программирования С++ описание класса может быть отделено от его
определения. Для Java это не так - описание класса не допустимо. Все методы
должны быть определены внутри определения класса.
Недопустимо определение вложенных классов.
В Java также нет шаблонов. Вы можете создавать классы только на базе других
классов.
Объект класса создается при помощи ключевого слова new, однако вы не можете
удалить объект явным образом, так как ключевое слово delete языка
программирования С++ в Java не используется.
При определении класса вы не можете указать деструктор. Функции удаления
объектов Java из памяти выполняет система сборки мусора.
Внутри одного исходного файла вы можете определи
|
|