Метод

Метод — это функция, объявленная внутри класса. Она определяет поведение объекта, т.е. то, какие действия он может выполнять.

Методы описываются следующим образом (все описанные методы имеют модификатор доступа «public»):

static double norm(double[] vector)

где:

• static - указание на то, что метод статический (применяется к классу). Если не указано, то считается, что метод нестатический (применяется к объекту класса).
• double - тип данных, который возращает метод. Если не указано, то считается, что метод ничего не возвращает ("void").
• norm - название метода.
• double[] vector - название аргумента, который принимает метод (vector), и его тип данных/класс (double[]). Если не указано, то считается, что метод ничего не принимает на вход.

Основные правила объявления метода в java:

  • Может содержать модификатор доступа. Существует несколько таких модификаторов, однако при создании методов пользовательского кода для моделей используется только модификатор доступа «public» (обозначает, что объявленный метод доступен отовсюду: из любого класса любого пакета).

  • Может содержать другие модификаторы (например, static - указание на то, что метод принадлежит классу, а не объекту класса).

  • Обязательно содержит тип/класс возвращаемого значения. Если метод ничего не возвращает, то указывается «void».

  • Ключевое слово «return» используется для обозначения того, что именно возвращает метод (если не указано «void»).

  • Обязательно содержит круглые скобки, внутри которых перечисляются параметры, которые метод принимает на вход. Если метод ничего не принимает на вход, то указывается ().

Пример объявления метода, который возвращает что-либо, внутри класса:

// Класс Circle
public class Circle {

   // Поля класса:
   // radius - радиус круга (тип данных double)
   private double radius;

   // Метод, возвращающий площадь круга
   public double getArea() {

      double area = Math.PI * square(radius);
      return area;
   }
}

Пример объявления метода, который ничего не возвращает, внутри класса:

// Класс Circle
public class Circle {

   // Поля класса:
   // radius - радиус круга (тип данных double)
   private double radius;

   // Метод, который ничего не возвращает. Он просто выводит информацию о площади круга
   public void printArea() {

      double area = Math.PI * square(radius);
      System.out.println("Площадь круга: " + area);
   }
}

Методы бывают статическими (при их объявлении указывается модификатор «static», такие методы относятся ко всему классу, а не к конкретным объектам этого класса) и нестатическими (относятся к конкретным объектам класса).

Обращение к статическому методу осуществляется через имя самого класса, например:

Cell.createCell(CellDefinition cd, Model model, double[] position);

• Cell - название класса.

Обращение к нестатическому методу осуществляется через имя объекта какого-либо класса, например:

Cell cell1 = new Cell(CellDefinition cd, Model model);

сell1.getMicroenvironment();