Поля и методы в 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.