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 static
kenmerke 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 static
en 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 myCar
objek, 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 Main
klas met die class
sleutelwoord geskep.
2) Ons het die fullThrottle()
en
speed()
metodes in die Main
klas geskep.
3) Die fullThrottle()
metode en die
speed()
metode sal sommige teks uitdruk, wanneer hulle opgeroep word.
4) Die speed()
metode aanvaar 'n int
parameter genaamd
maxSpeed
- ons sal dit in 8) gebruik .
5) Om die Main
klas en sy metodes te gebruik, moet ons 'n objek van die
Main
Klas 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 new
sleutelwoord te gebruik, het ons 'n voorwerp met die naam geskep
myCar
.
8) Dan roep ons die fullThrottle()
en
speed()
metodes op die
myCar
objek, 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 int
parameter 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 ( Main
en
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