Java Class Methods

Оновлено: 22.05.2023

Методи класу Java

З розділу Методи Java ви дізналися, що методи оголошуються в класі і використовуються для виконання певних дій:

Створіть метод з іменем myMethod() в розділі Main:

myMethod()
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }
}

myMethod() виводить текст (дію), коли його викликають. Щоб викликати метод, запишіть його ім'я, за яким слідують дві круглі дужки () і крапка з комою;

Всередині main викликати метод myMethod():

main
myMethod()
public class Main {
  static void myMethod() {
    System.out.println("Hello World!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "Hello World!"

Статика проти публіки

Ви часто бачите програми на Java, які мають статичні або загальнодоступні атрибути та методи.

У наведеному вище прикладі ми створили статичний метод, що означає, що до нього можна отримати доступ без створення об'єкта класу, на відміну від загальнодоступного, до якого можуть звертатися тільки об'єкти:

Приклад для демонстрації відмінностей між статичними та загальнодоступними методами:

static
public
public class Main {
  // Static method
  static void myStaticMethod() {
    System.out.println("Static methods can be called without creating objects");
  }

  // Public method
  public void myPublicMethod() {
    System.out.println("Public methods must be called by creating objects");
  }

  // Main method
  public static void main(String[] args) {
    myStaticMethod(); // Call the static method
    // myPublicMethod(); This would compile an error

    Main myObj = new Main(); // Create an object of Main
    myObj.myPublicMethod(); // Call the public method on the object
  }
}
Зауваження: Ви дізнаєтеся більше про ці ключові слова (так звані модифікатори) у розділі Модифікатори Java.

Методи доступу з об'єктом

Створити об'єкт Car з іменем myCar. Викличте методи fullThrottle() та speed() в об'єкті myCar і запустіть програму на виконання:

myCar
fullThrottle()
speed()
myCar
// Create a Main class
public class Main {
 
  // Create a fullThrottle() method
  public void fullThrottle() {
    System.out.println("The car is going as fast as it can!");
  }

  // Create a speed() method and add a parameter
  public void speed(int maxSpeed) {
    System.out.println("Max speed is: " + maxSpeed);
  }

  // Inside main, call the methods on the myCar object
  public static void main(String[] args) {
    Main myCar = new Main();   // Create a myCar object
    myCar.fullThrottle();      // Call the fullThrottle() method
    myCar.speed(200);          // Call the speed() method
  }
}

// The car is going as fast as it can!
// Max speed is: 200

1) Ми створили власний клас Main з ключовим словом class.

2) Ми створили методи fullThrottle() та speed() у класі Main.

3) Метод fullThrottle() та метод speed() будуть виводити деякий текст при їх виклику.

4) Метод speed() приймає параметр типу int з назвою maxSpeed - ми будемо використовувати його у пункті 8).

5) Для того, щоб використовувати клас Main та його методи, нам потрібно створити об'єкт класу Main.

6) Потім перейдіть до методу main(), який, як ви вже знаєте, є вбудованим методом Java, що запускає вашу програму (виконується будь-який код всередині main).

7) За допомогою ключового слова new ми створили об'єкт з ім'ям myCar.

8) Потім викликаємо методи fullThrottle() і speed() на об'єкті myCar і запускаємо програму, використовуючи ім'я об'єкта (myCar), за яким слідує крапка (.), а потім ім'я методу (fullThrottle(); і speed(200);). Зверніть увагу, що ми додаємо параметр типу int зі значенням 200 всередині методу speed().

Пам'ятай про це. Крапка (.) використовується для доступу до атрибутів та методів об'єкта. Щоб викликати метод в Java, слід написати ім'я методу, за яким слідує набір круглих дужок (), а потім крапка з комою (;). Клас повинен мати відповідне ім'я файлу (Main і Main.java).

Використання декількох класів

Як ми вже зазначали у розділі Класи, гарною практикою є створення об'єкта класу та доступ до нього в іншому класі.

Пам'ятайте, що ім'я java-файлу має збігатися з ім'ям класу. У цьому прикладі ми створили два файли в одному каталозі:

Main.java Second.java

public class Main {
  public void fullThrottle() {
    System.out.println("The car is going as fast as it can!");
  }

  public void speed(int maxSpeed) {
    System.out.println("Max speed is: " + maxSpeed);
  }
}
class Second {
  public static void main(String[] args) {
    Main myCar = new Main();     // Create a myCar object
    myCar.fullThrottle();      // Call the fullThrottle() method
    myCar.speed(200);          // Call the speed() method
  }
}

Коли обидва файли скомпільовано:

Запустіть файл Second.java:

І результат буде:

The car is going as fast as it can!
Max speed is: 200