6.2 KiB
title | localeTitle |
---|---|
Methods | методы |
методы
Наиболее узнаваемый метод в Java - это, вероятно, public static void main(String[]args)
где public
означает, что пользователи имеют доступ к методу, static
означает, что метод основан на «классе», а не в «экземпляре», void
означает что от метода к другому (более высокий уровень) ничего не будет возвращено, а main
- имя этого конкретного метода.
getName()
и getManufacturerName()
- два метода «Getter», которые мы использовали здесь. Как правило, методы в Java состоят из этих частей -
- Модем доступа (необязательно) -
public
,private
илиprotected
. По умолчанию пакет закрывается, если не указывается - Тип возврата. Это требуется, это означает, какое значение возвращает метод, или
void
если ничего не возвращается - Имя метода - следует за соглашением camelCase
- Список параметров - список параметров с их именем и типом, пустой, если параметры не приняты
- Тело метода, окруженное
{ }
Кроме того, методы могут также иметь ключевое слово static
, то есть оно связано с самим классом, а не с экземпляром класса ex- public static void main()
.
Обратите внимание: в отличие от JavaScript мы должны определить тип возвращаемого значения любого метода, который мы пишем, иначе он не будет работать во время компиляции. Если вы не хотите, чтобы метод возвращал что-либо, используйте тип возврата void
.
Каждый метод имеет подпись, которая представляет собой комбинацию типа данных, имени и количества аргументов, которые принимает метод. В public static void main
метод не имеет указанного типа данных и вместо этого использует void
чтобы объявить, что данные не возвращаются. В методе public static double ave(double val, double val)
тип данных «double» (0.0), имя «ave» (среднее), а метод принимает 2 аргумента. Каждый метод должен иметь уникальную подпись.
public class Car {
private String name;
private String manufacturersName;
public void changeName() {
name = "Tesla";
}
public String getName(){
return name;
}
public String getManufacurername(){
return manufacturersName;
}
}
Параметры могут быть переданы в методы. Параметры объявляются сразу после имени метода внутри скобок. Синтаксис объявления параметра - [Тип данных] [Имя].
public class Car {
private String name;
public void changeName(String newName) {
name = newName;
}
}
Как и на любом другом языке, методы (или функции, если вы здесь из мира JS) часто используются для их модульности и повторного использования.
Методы часто служат многим целям, таким как обновление информации в объекте или предоставление данных обратно вызывающему абоненту. Вот несколько примеров.
public class Car {
private int numberOfWheels;
public void setNumberOfWheels(int newNumberOfWheels) {
numberOfWheels = newNumberOfWheels;
}
public int getNumberOfWheels() {
return numberOfWheels;
}
}
В случае getNumberOfWheels()
тип возврата - int
который является целым числом. return
ключевого слова сообщает java, чтобы передать значение переменной экземпляра numberOfWheels
. setNumberOfWheels(int newNumberOfWheels)
однако, не имеет возвращаемого типа, поскольку это метод сеттера, как это было ранее показано. В этом случае, хотя он принимает аргумент типа int
и делает экземпляр varible numberOfWheels
равным newNumberOfWheels
.
Существует также специальный метод, называемый конструктором, который позволяет устанавливать данные или выполнять операции при создании экземпляра класса. Этот конструктор не имеет типа возврата.
public class Car {
private String model;
private int numberOfWheels;
public Car(String model, int numberOfWheels) {
this.model = model;
this.numberOfWheels = numberOfWheels;
}
}
Класс Car
и метод Car(String model, int numberOfWheels)
должны иметь одно и то же имя, чтобы Java знал, что это конструктор. Теперь, когда вы создаете экземпляр нового экземпляра Car
с new
ключевым словом, вам нужно будет вызвать этот конструктор и передать необходимые данные.