Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Аргументы переменной (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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...