Аргументы переменной (var-args)
Пример Далее представлен пример, в котором ключевое слово this используется для доступа к экземплярам класса. Необходимо копировать и вставить данную программу в файл с названием This_Example. java. public class This_Example { // Инициализация переменной num int num = 11; This_Example() { System. out. println(" Это пример программы с ключевым словом this" ); } This_Example(int num) { // Вызов конструктора по умолчанию this(); // Присвоение локальной переменной num переменной экземпляра num this. num = num; } public void greet() { System. out. println(" Привет! Добро пожаловать на ProgLang! " ); } public void print() { // Локальная переменная num int num = 20; // Вызов метода класса greet this. greet(); // Вывод локальной переменной. System. out. println(" Значение локальной переменной num: " + num); // Вывод переменной экземпляра. System. out. println(" Значение переменной экземпляра num: " + this. num); } public static void main(String[] args) { // Инициализация класса This_Example obj1 = new This_Example(); // Вызов метода print obj1. print(); // Передача нового значения переменной num через параметризованный конструктор This_Example obj2 = new This_Example(30); // Вызов снова метода print obj2. print(); }}В итоге будет получен следующий результат: Это пример программы с ключевым словом thisПривет! Добро пожаловать на ProgLang! Значение локальной переменной num: 22Значение переменной экземпляра num: 11Это пример программы с ключевым словом thisПривет! Добро пожаловать на ProgLang! Значение локальной переменной num: 22Значение переменной экземпляра num: 30Аргументы переменной (var-args) JDK 1. 5 и выше позволяет передавать методу переменное количество аргументов одного типа. Параметр в методе объявляется следующим образом: typeName... parameterNameПри объявлении метода Вы указываете тип, за которым следует многоточие (... ). В методе может быть указан только один параметр переменной длины, и этот параметр должен быть последним параметром. Любые регулярные параметры должны предшествовать ему.
Пример public class VarargsDemo { public static void main(String args[]) { // Вызов метода с переменной args printMax(27, 11, 11, 5, 77. 1); printMax(new double[]{10, 11, 12, 77, 71}); } public static void printMax(double... numbers) { if (numbers. length == 0) { System. out. println(" Ни один аргумент не передается" ); return; } double result = numbers[0]; for (int i = 1; i < numbers. length; i++) if (numbers[i] > result) result = numbers[i]; System. out. println(" Максимальное значение " + result); }}В итоге будет получен следующий результат: Максимальное значение 77. 1Максимальное значение 77. 0Метод finalize() Метод finalize() — метод, который будет вызываться непосредственно перед окончательным уничтожением объекта сборщиком мусора. (финализатором). В Java finalize() может быть использован для обеспечения чистого завершения объекта. К примеру, мы можете использовать finalize() чтобы удостовериться в том, что открытый файл, принадлежащий данному объекту, был закрыт. Для добавления финализатора в класс, вам просто следует определить метод finalize() в Java. Среда выполнения Java производит вызов данного метода непосредственно перед обработкой объекта данного класса. В составе метода finalize(), вы указываете те действия, которые должны быть выполнены перед уничтожением объекта. В общем виде метод finalize() выглядит следующим образом: protected void finalize() { // здесь финализация кода}Здесь ключевое слово protected представляет спецификатор, предотвращающий доступ к finalize() посредством кода, определяемого вне его класса. Это свидетельствует о том, что вы не можете знать как или даже когда будет производиться выполнение finalize(). К примеру, если ваша программа будет окончена до «сборки мусора», finalize() не будет выполняться.
19. 1. Java — Потоки ввода/вывода и работа с файлами и каталогами
Пакет java. io содержит почти каждый класс, который может потребоваться Вам для совершения ввода и вывода в Java. Все данные потоки представлены потоком ввода и адресом вывода. Поток в пакете java. io осуществляет поддержку различных данных, таких как примитивы, объекты, локализованные символы и т. д. Потоки Потоки в Java определяются в качестве последовательности данных. Существует два типа потоков: · InPutStream – поток ввода используется для считывания данных с источника. · OutPutStream – поток вывода используется для записи данных по месту назначения. Java предоставляет сильную, но гибкую поддержку в отношении ввода/вывода, связанных с файлами и сетями, однако в данном руководстве рассмотрены лишь базовые функции, связанные с потоками и вводом/выводом. Рассмотрим далее по порядку наиболее распространенные примеры. Байтовый поток Потоки байтов в Java используются для осуществления ввода и вывода 8-битных байтов. Не смотря на множество классов, связанных с потоками байтов, наиболее распространено использование следующих классов: FileInputStream и FileOutputStream. Ниже рассмотрен пример, иллюстрирующий использование данных двух классов для копирования из одного файла в другой. Примечание по примеру: чтобы скопировать файл, необходимо в папке проекта создать файл file. txt с любым или пустым содержимым.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|