Metody třídy Java


Metody třídy Java

Z kapitoly Metody Java jste se dozvěděli , že metody jsou deklarovány v rámci třídy a že se používají k provádění určitých akcí:

Příklad

Vytvořte metodu pojmenovanou myMethod()v Main:

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

myMethod()vypíše text (akci), když je volána . Chcete-li volat metodu, napište název metody následovaný dvěma závorkami () a středníkem ;

Příklad

Uvnitř mainzavolejte myMethod():

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

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

// Outputs "Hello World!"


Statické vs. Nestatické

Často uvidíte programy Java, které mají atributy a metody buď staticnebo .public

Ve výše uvedeném příkladu jsme vytvořili static metodu, což znamená, že k ní lze přistupovat bez vytvoření objektu třídy, na rozdíl od public, ke kterému lze přistupovat pouze objekty:

Příklad

Příklad, který demonstruje rozdíly mezi statica public metodami :

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

Poznámka: Více o těchto klíčových slovech (nazývaných modifikátory) se dozvíte v kapitole Modifikátory Java .


Přístupové metody s objektem

Příklad

Vytvořte objekt Car s názvem myCar. Zavolejte metody fullThrottle()a speed() na myCarobjektu a spusťte 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

Příklad vysvětlen

1) Vytvořili jsme vlastní Maintřídu s classklíčovým slovem.

2) Ve třídě jsme vytvořili metody fullThrottle()a . speed()Main

3) fullThrottle()Metoda a speed() metoda při volání vytisknou nějaký text.

4) speed() Metoda přijímá intparametr nazvaný maxSpeed- ten použijeme v 8) .

5) Abychom mohli Maintřídu a její metody používat, musíme vytvořit objekt třídy Main.

6) Poté přejděte k main()metodě, o které již víte, že je to vestavěná metoda Java, která spouští váš program (spustí se jakýkoli kód v main).

7) Pomocí newklíčového slova jsme vytvořili objekt s názvem myCar.

8) Poté na objektu zavoláme metody fullThrottle()a a spustíme program pomocí názvu objektu ( ), za kterým následuje tečka ( ), následovaná názvem metody ( a ). Všimněte si, že do metody přidáme parametr 200 .speed() myCarmyCar.fullThrottle(); speed(200);int speed()

Pamatuj si to..

Tečka ( .) se používá pro přístup k atributům a metodám objektu.

Chcete-li volat metodu v Javě, napište název metody následovaný sadou závorek () a středníkem ( ;).

Třída musí mít odpovídající název souboru ( Maina Main.java ).



Použití více tříd

Jak jsme uvedli v kapitole Třídy , je dobrým zvykem vytvořit objekt třídy a přistupovat k němu v jiné třídě.

Pamatujte, že název souboru java by se měl shodovat s názvem třídy. V tomto příkladu jsme vytvořili dva soubory ve stejném adresáři:

  • Main.java
  • Druhá.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);
  }
}

Druhá.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
  }
}

Když jsou oba soubory zkompilovány:

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

Spusťte soubor Second.java:

C:\Users\Your Name>java Second

A výstup bude:

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