Java -klasmetodes


Java-klasmetodes

Jy het uit die Java-metodes hoofstuk geleer dat metodes binne 'n klas verklaar word, en dat dit gebruik word om sekere aksies uit te voer:

Voorbeeld

Skep 'n metode met die naam myMethod()in Main:

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

myMethod()druk 'n teks (die aksie), wanneer dit genoem word . Om 'n metode te noem, skryf die metode se naam gevolg deur twee hakies () en 'n kommapunt ;

Voorbeeld

Binne main, bel myMethod():

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

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

// Outputs "Hello World!"


Staties vs. Nie-Staties

Jy sal dikwels Java-programme sien wat óf statickenmerke public en metodes het.

In die voorbeeld hierbo het ons 'n static metode geskep, wat beteken dat dit toeganklik kan word sonder om 'n objek van die klas te skep, anders as public, wat slegs deur voorwerpe verkry kan word:

Voorbeeld

'n Voorbeeld om die verskille tussen staticen public metodes te demonstreer :

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

Let wel: Jy sal meer oor hierdie sleutelwoorde (genoem wysigers) in die Java Modifiers- hoofstuk leer.


Toegang tot metodes met 'n objek

Voorbeeld

Skep 'n motorvoorwerp met die naam myCar. Roep die fullThrottle()en speed() metodes op die myCarobjek, en hardloop die 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

Voorbeeld verduidelik

1) Ons het 'n pasgemaakte Mainklas met die classsleutelwoord geskep.

2) Ons het die fullThrottle()en speed() metodes in die Mainklas geskep.

3) Die fullThrottle()metode en die speed() metode sal sommige teks uitdruk, wanneer hulle opgeroep word.

4) Die speed() metode aanvaar 'n intparameter genaamd maxSpeed- ons sal dit in 8) gebruik .

5) Om die Mainklas en sy metodes te gebruik, moet ons 'n objek van die MainKlas skep.

6) Gaan dan na die main()metode, wat jy nou weet 'n ingeboude Java-metode is wat jou program laat loop (enige kode binne hoof word uitgevoer).

7) Deur die newsleutelwoord te gebruik, het ons 'n voorwerp met die naam geskep myCar.

8) Dan roep ons die fullThrottle()en speed() metodes op die myCarobjek, en hardloop die program deur die naam van die objek ( myCar), gevolg deur 'n kolletjie ( .), gevolg deur die naam van die metode ( fullThrottle();en speed(200);) te gebruik. Let daarop dat ons 'n intparameter van 200 in die speed()metode byvoeg.

Onthou dat..

Die kolletjie ( .) word gebruik om toegang tot die voorwerp se eienskappe en metodes te verkry.

Om 'n metode in Java te noem, skryf die metodenaam gevolg deur 'n stel hakies () , gevolg deur 'n kommapunt ( ;).

'n Klas moet 'n ooreenstemmende lêernaam ( Mainen Main.java ) hê.



Gebruik verskeie klasse

Soos ons in die Klasse-hoofstuk gespesifiseer het , is dit 'n goeie praktyk om 'n objek van 'n klas te skep en toegang daartoe in 'n ander klas te kry.

Onthou dat die naam van die Java-lêer moet ooreenstem met die klasnaam. In hierdie voorbeeld het ons twee lêers in dieselfde gids geskep:

  • Hoof.java
  • Tweede.java

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

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

Wanneer beide lêers saamgestel is:

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

Begin die Second.java-lêer:

C:\Users\Your Name>java Second

En die uitset sal wees:

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