Metody klas Java


Metody klas Java

Z rozdziału Java Methods dowiedziałeś się , że metody są deklarowane w ramach klasy i są używane do wykonywania określonych czynności:

Przykład

Utwórz metodę o nazwie myMethod()w Main:

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

myMethod()wypisuje tekst (akcję), gdy zostanie wywołana . Aby wywołać metodę, napisz nazwę metody, po której następują dwa nawiasy () i średnik ;

Przykład

Wewnątrz mainzadzwoń myMethod():

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

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

// Outputs "Hello World!"


Statyczne a niestatyczne

Często zobaczysz programy Java, które mają atrybuty i metody albo staticalbo .public

W powyższym przykładzie stworzyliśmy static metodę, co oznacza, że ​​można do niej uzyskać dostęp bez tworzenia obiektu klasy, w przeciwieństwie do public, do którego można uzyskać dostęp tylko za pomocą obiektów:

Przykład

Przykład demonstrujący różnice między metodamistatic i :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
  }
}

Uwaga: Więcej informacji o tych słowach kluczowych (zwanych modyfikatorami) znajdziesz w rozdziale Modyfikatory Java .


Metody dostępu z obiektem

Przykład

Utwórz obiekt Samochód o nazwie myCar. Wywołaj metody fullThrottle()i speed() na myCarobiekcie i uruchom program:

// 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

Przykład wyjaśniony

1) Stworzyliśmy niestandardową Mainklasę ze classsłowem kluczowym.

2) Stworzyliśmy metody fullThrottle()i speed() w Mainklasie.

3) fullThrottle()Metoda i speed() metoda wypisują tekst po wywołaniu.

4) speed() Metoda przyjmuje intparametr o nazwie maxSpeed- użyjemy go w 8) .

5) Aby korzystać z Mainklasy i jej metod, musimy stworzyć obiekt Klasy Main.

6) Następnie przejdź do main()metody, którą już znasz, jest wbudowaną metodą Javy, która uruchamia Twój program (wykonywany jest dowolny kod wewnątrz main).

7) Za pomocą newsłowa kluczowego stworzyliśmy obiekt o nazwie myCar.

8) Następnie wywołujemy metody fullThrottle()i speed() na myCarobiekcie i uruchamiamy program, używając nazwy obiektu ( myCar), kropki ( .), a następnie nazwy metody ( fullThrottle();i speed(200);). Zauważ, że dodajemy intparametr 200 wewnątrz speed()metody.

Zapamietaj to..

Kropka ( .) służy do uzyskiwania dostępu do atrybutów i metod obiektu.

Aby wywołać metodę w Javie, napisz nazwę metody, po której następuje zestaw nawiasów () , a następnie średnik ( ;).

Klasa musi mieć pasującą nazwę pliku ( Maini Main.java ).



Korzystanie z wielu klas

Tak jak opisaliśmy w rozdziale Klasy , dobrą praktyką jest tworzenie obiektu klasy i uzyskiwanie do niego dostępu w innej klasie.

Pamiętaj, że nazwa pliku java powinna być zgodna z nazwą klasy. W tym przykładzie utworzyliśmy dwa pliki w tym samym katalogu:

  • Main.java
  • Drugi.java

Main.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);
  }
}

Drugi.java

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
  }
}

Po skompilowaniu obu plików:

C:\Users\Your Name>javac Main.java
C:\Users\Your Name>javac Second.java

Uruchom plik Second.java:

C:\Users\Your Name>java Second

A wynik będzie następujący:

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