Предыдущий раздел Уровень выше Следующий раздел

Методы

Все функции языка 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;
   }	    
}


Задания

  1. Реализуйте статический метод d(int a, int b, int c), который возвращает дискриминант b2-4*a*c квадратного уравнения.
  2. Реализуйте метод, который по порядковому номеру дня недели печатает его название. При решении воспользуйтесь массивом.

Предыдущий раздел Уровень выше Следующий раздел