Phương thức lớp Java
Bạn đã học được từ chương Phương thức Java rằng các phương thức được khai báo trong một lớp và chúng được sử dụng để thực hiện các hành động nhất định:
Thí dụ
Tạo một phương thức có tên myMethod()
trong Main:
public class Main {
static void myMethod() {
System.out.println("Hello World!");
}
}
myMethod()
in một văn bản (hành động), khi nó được gọi . Để gọi một phương thức, hãy viết tên phương thức theo sau bởi hai dấu ngoặc đơn () và dấu chấm phẩy ;
Thí dụ
Bên trong main
, hãy gọi myMethod()
:
public class Main {
static void myMethod() {
System.out.println("Hello World!");
}
public static void main(String[] args) {
myMethod();
}
}
// Outputs "Hello World!"
Tĩnh so với Không tĩnh
Bạn sẽ thường thấy các chương trình Java có static
hoặc public
thuộc tính và phương thức.
Trong ví dụ trên, chúng tôi đã tạo một static
phương thức, có nghĩa là nó có thể được truy cập mà không cần tạo một đối tượng của lớp, không giống như public
, chỉ có thể được truy cập bởi các đối tượng:
Thí dụ
Một ví dụ để chứng minh sự khác biệt giữa static
và public
các phương pháp :
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
}
}
Lưu ý: Bạn sẽ tìm hiểu thêm về các từ khóa này (được gọi là bổ ngữ) trong chương Bổ ngữ của Java .
Truy cập các phương pháp với một đối tượng
Thí dụ
Tạo một đối tượng Xe có tên myCar
. Gọi fullThrottle()
và speed()
các phương thức trên myCar
đối tượng và chạy chương trình:
// 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
Giải thích ví dụ
1) Chúng tôi đã tạo một Main
lớp tùy chỉnh với class
từ khóa.
2) Chúng tôi đã tạo fullThrottle()
và speed()
các phương thức trong Main
lớp.
3) fullThrottle()
Phương thức và speed()
phương thức sẽ in ra một số văn bản, khi chúng được gọi.
4) speed()
Phương thức chấp nhận một int
tham số được gọi maxSpeed
– chúng tôi sẽ sử dụng điều này trong 8) .
5) Để sử dụng Main
lớp và các phương thức của nó, chúng ta cần tạo một đối tượng của Main
Lớp.
6) Sau đó, chuyển đến main()
phương thức, mà bạn biết bây giờ là một phương thức Java tích hợp sẵn để chạy chương trình của bạn (bất kỳ mã nào bên trong main đều được thực thi).
7) Bằng cách sử dụng new
từ khóa, chúng tôi đã tạo một đối tượng với tên myCar
.
8) Sau đó, chúng ta gọi fullThrottle()
và speed()
các phương thức trên myCar
đối tượng, và chạy chương trình bằng cách sử dụng tên của đối tượng ( myCar
), theo sau là dấu chấm ( .
), theo sau là tên của phương thức ( fullThrottle();
và speed(200);
). Lưu ý rằng chúng tôi thêm một int
tham số 200 vào bên trong speed()
phương thức.
Nhớ lấy..
Dấu chấm ( .
) được sử dụng để truy cập các thuộc tính và phương thức của đối tượng.
Để gọi một phương thức trong Java, hãy viết tên phương thức theo sau bởi một tập hợp các dấu ngoặc đơn () , theo sau là dấu chấm phẩy ( ;
).
Một lớp phải có tên tệp phù hợp ( Main
và Main.java ).
Sử dụng nhiều lớp
Giống như chúng ta đã chỉ ra trong chương Lớp , cách tốt là tạo một đối tượng của một lớp và truy cập nó trong một lớp khác.
Hãy nhớ rằng tên của tệp java phải khớp với tên lớp. Trong ví dụ này, chúng tôi đã tạo hai tệp trong cùng một thư mục:
- Main.java
- Second.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);
}
}
Second.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
}
}
Khi cả hai tệp đã được biên dịch:C:\Users\Your Name>javac Main.java
C:\Users\Your Name>javac Second.java
Chạy tệp Second.java:C:\Users\Your Name>java Second
Và đầu ra sẽ là:
The car is going as fast as it can!
Max speed is: 200