Java - методы класса

О методах в общем мы уже говорили в обзорной статье об ООП, теперь рассмотрим синтаксис который позволяет описывать их средствами Явы.

В обзоре классов в Яве мы использоватли класс Car у которого были определены только две переменные экземпляра - высота и ширина:

public class Car { // класс "машина"
  public int height; // высота
  public int width; // ширина
}

Давайте теперь научим нашу машинук каким-то действиям - для этого нам нужно использовать методы - то есть небольшие подпроргаммы, которые выполняют некоторое законченное действие.

Описание метода подчиняется следующей схеме:

типПеременнойВозвращаемойМетодом имяМетода1(список параметров){
        // тело метода
    } 

если описываеть ещё подробнее, то схема эта выглядит так:

типПеременнойВозвращаемойМетодом имяМетода2( типПеременной  имяПермен1, типПеременной  имяПермен2){
        // тело метода
    }

Таким образом метод может возвращать значения.

Давайте сразу добавим нашему классу Car методы, возвращающие и не возвращающие значения:

public class Car {
	int height; // высота
	int width; // ширина
	  
    // метод не возвращает значения (void)
    void runMethod1(String str){ // получает и печатает строку с решёткой
      System.out.println(str + "#");
    }
     
   // метод не возвращает значения (void)
    void runMethod2() { // не получает значений  
        height = 5; // присваивает 5 высоте
    }
    
   //метод возвращает значение = 8 
    int runMethod3(){ // не получает значений 
      return 2*4; // возвращает произведение
    }

   //метод возвращает значение = 8 
    int sumMethod(int a, int b){ // принимает два параметра
      return (a + b); // возвращает сумму значений
    }

}

void указывает на то, что значение не возвращается.

Вызов методов

Помним, что программа в Яве - это тоже класс - а потому я привожу полный код главного класса, который использует Car:

// далее код основного класса (класса-программы),
// который создаёт объекты и работатет с ними
public class MyMainClass {
	
// будем использовать метод main, который является "точкой входа"
  public static void main(String[] args) {

     Car mycar; // объявление переменной типа "Автомобиль"
     
  // создание объекта класса "Автомобиль"
   // c использованием стандартного конструктора -
   // так называемого "конструктора по умолчанию"
     mycar = new Car(7, 8) ; // создаём объект
     System.out.println("ширина " + mycar.height);
     System.out.println("высота " + mycar.width);
     
     // вызов метода без возвращаемых значений
     mycar.runMethod1("это строка");
     
     int c  = mycar.sumMethod(6, 8); // вызов метод sumMethod()
     System.out.println(c);
     
  }
  
}

Получим:

ширина 40
высота 14
это строка #
14