Поля и методы в Java: служебные классы
Служебный класс в Java состоит из статических полей и/или статических методов. Стандартная библиотека классов содержит примеры служебных классов, включая математические. Вот один пример полезности класса:
class Utilities
{
declaring a
// Конструктор класса
private Utilities()
{
}
static double average(double[] values)
{
double sum = 0.0;
for (int i = 0; i < values.length; i++)
sum += values[i];
return sum / values.length;
}
static void copy() throws java.io.IOException
{
while (true)
{
int _byte = System.in.read();
if (_byte == -1)
return;
System.out.print((char) _byte);
}
}
static int factorial(int n)
{
if (n == 1)
return 1; // базовая проблема
else
return n * factorial(n - 1);
13
}
static int search(int[] values, int srchValue)
{
for (int i = 0; i < values.length; i++)
if (values[i] == srchValue)
return i; // возвращаем индекс найденного значения
return -1; // -1 это недействительный индекс, так что его нельзя использовать
for indicating
// “значение не найдено”.
}
}
Утилиты класса, объявленного в листинге выше, служат прототипом для большинства методов класса, которые вы видели в предыдущих статьях цикла. Утилиты предотвращения экземпляров я объявил собственным, без аргументов и пустой конструктор. Вот небольшой класс, который демонстрирует ряд утилит методов:
class UtilDemo
{
public static void main(String[] args)
{
double[] values = { 10.0, 20.0, 30.0, 40.0 };
System.out.println(Utilities.average(values));
System.out.println(Utilities.factorial(5));
int[] numbers = { 25, 49, 33, 89 };
System.out.println(Utilities.search(numbers, 33));
System.out.println(Utilities.search(numbers, 34));
}
}
Если вы скомпилируете листинг выше
javac UtilDemo.java
и запустите
java UtilDemo
то сможете наблюдать следующие результаты:
25.0
120
2
120
2
Заключение
В этой серии статей Java классы и объекты в Java были представлены вам с помощью минимального набора функций для работы с классами и объектами.Эта серия построена на статьях о концепциях и техниках, относящихся к полям и методам, а именно: поля, константы, правила доступа, цепочки вызовов методов экземпляра, передачи по значению аргумента, рекурсия и стек вызовов метода, правила вызова методов, и служебные классы.
Весь список серии статей "Поля и методы в Java":
- Константы поля
- Правила доступа к полям
- Сцепление экземпляров методов цепочкой
- Передача параметров по значению аргумента
- Рекурсия и стек вызовов метода
- Правила вызова методов
- Служебные классы
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Программы на заказ
Отзывы
Контакты