Все функции языка Java являются членами классов и, как правило, называются методами. Как и в Ruby существуют методы класса и методы экземпляра, каждый из которых может быть общедоступным (public) или "скрытым" (private).
Рассмотрим внимательнее объявление уже неоднократно использованного нами метода main:
public static void main(String[] args)
С этого метода начинается выполнение программы, он вызывается извне класса и поэтому должен иметь квалификатор доступа public. Если метод отмечен как private, то это гарантирует, что он будет использоваться только внутри класса. В нашем курсе мы будем создавать, в основном, public методы.
Ключевое слово static используется так же как и в языке Ruby. Статический метод обычно вызывается в функциональном стиле, а не ассоциируется с каким-либо конкретным экземпляром класса. Именно с такими методами мы и будем иметь дело чаще всего.
Как и переменные, методы в языке Java обязательно требуют указания типа возвращаемого ими результата. Это тип объекта, указываемого в операторе return. Если метод не возвращает значения, то он должен иметь тип void.
Аргументы метода заключаются в круглые скобки, отделяются друг от друга запятыми и также требуют обязательного объявления их типа.
Пример
Рассмотрим программу, которая определяет и использует статический метод gets, предназначенный для ввода данных с клавиатуры.
import java.io.*; class TestGets { public static String gets() throws Exception { BufferedReader r = new BufferedReader( new InputStreamReader(System.in)); return r.readLine(); } public static void main(String[] args) throws Exception{ System.out.print("Введите целое число: "); int a=Integer.parseInt(gets()); System.out.println("a="+a); } }
Пример
Следующая программа определяет статический метод area для вычисления площади прямоугольника.
class TestArea { public static void main(String[] args) { double a = area(10.0, 5.5); System.out.println(a); } // площадь прямоугольника public static double area(double w, double h) { double res = w * h; return res; } }
Задания
- Реализуйте статический метод d(int a, int b, int c), который возвращает дискриминант b2-4*a*c квадратного уравнения.
- Реализуйте метод, который по порядковому номеру дня недели печатает его название. При решении воспользуйтесь массивом.