Метод
Метод — это функция, объявленная внутри класса. Она определяет поведение объекта, т.е. то, какие действия он может выполнять.
Методы описываются следующим образом (все описанные методы имеют модификатор доступа «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();