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 main
zadzwoń
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 static
albo .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 myCar
obiekcie 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ą Main
klasę ze class
słowem kluczowym.
2) Stworzyliśmy metody fullThrottle()
i
speed()
w Main
klasie.
3) fullThrottle()
Metoda i
speed()
metoda wypisują tekst po wywołaniu.
4) speed()
Metoda przyjmuje int
parametr o nazwie
maxSpeed
- użyjemy go w 8) .
5) Aby korzystać z Main
klasy 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ą new
słowa kluczowego stworzyliśmy obiekt o nazwie
myCar
.
8) Następnie wywołujemy metody fullThrottle()
i
speed()
na
myCar
obiekcie i uruchamiamy program, używając nazwy obiektu ( myCar
), kropki ( .
), a następnie nazwy metody ( fullThrottle();
i
speed(200);
). Zauważ, że dodajemy int
parametr 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 ( Main
i
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