Phương Thức (Method)
Phương thức (method) trong Java là một khối mã được định nghĩa trong một lớp, có nhiệm vụ thực hiện một chức năng hoặc một loạt các chức năng cụ thể. Phương thức giúp chia nhỏ chương trình thành các phần nhỏ, dễ quản lý và có thể tái sử dụng. Trong Java, phương thức được chia thành hai loại: Phương thức không trả về (Void Method), Phương thức có trả về (Returning Method).

Khai báo và định nghĩa phương thức
Cấu trúc cơ bản của một phương thức trong Java:
Ví dụ
<từ_khóa_truy_câp> <kiểu_dữ_liệu> <tên_phương_thức>(tham_số) {
// Thân phương thức - chứa các câu lệnh thực thi chức năng
}
Giải thích các thành phần:
↳ <từ_khóa_truy_câp>: Từ khóa truy cập cho phương thức (ví dụ: public, private, static).
↳ <kiểu_dữ_liệu>: Kiểu dữ liệu mà phương thức trả về (có thể là void nếu không trả về giá trị).
↳ <tên_phương_thức>: Tên của phương thức (phải tuân theo quy tắc đặt tên Java).
↳ (tham_số): Danh sách các tham số truyền vào phương thức (mỗi tham số có kiểu dữ liệu và tên).
↳ Thân phương thức: Chứa các câu lệnh thực thi chức năng của phương thức.
Quy ước đặt tên phương thức
↳ Sử dụng tên mô tả, thể hiện rõ ràng chức năng mà phương thức thực hiện.
↳ Tránh đặt tên quá dài hoặc quá ngắn.
↳ Sử dụng chữ thường cho các từ trong tên và viết hoa chữ cái đầu tiên của các từ tiếp theo.
↳ Tránh sử dụng các ký tự đặc biệt, dấu gạch dưới, không được sử dụng dấu cách trong tên.
↳ Sử dụng tên ngắn gọn cho các phương thức đơn giản, tên dài hơn cho các phương thức phức tạp.
↳ Sử dụng tên nhất quán cho các phương thức có chức năng tương tự.
Ⅰ. Phương thức không trả về (Void Method)
Phương thức không trả về là phương thức mà sau khi thực thi, nó không trả về bất kỳ giá trị nào. Kiểu dữ liệu của phương thức này được chỉ định là void. Không cần sử dụng từ khóa return trừ khi bạn muốn kết thúc phương thức sớm. Chức năng chính là thực hiện hành động, thay đổi trạng thái hoặc tương tác với người dùng.
Ví dụ: Example.java
public class Example {
// Phương thức không trả về giá trị nào (void)
public void printMessage(String message) {
System.out.println("Tin Nhắn: " + message);
}
public static void main(String[] args) {
Example example = new Example();
// Gọi phương thức printMessage
example.printMessage("Xin Chào, Thế Giới!"); // Output: Tin Nhắn: Xin Chào, Thế Giới!
}
}
Kết quả của chương trình là:
Trong ví dụ trên: Phương thức printMessage(String message) không trả về giá trị nào, do đó kiểu trả về của nó là void. Phương thức này chỉ thực hiện nhiệm vụ in ra thông điệp được truyền vào.
Ⅱ. Phương thức trả về (Returning Method)
Phương thức trả về là phương thức thực hiện một chức năng và có trả về giá trị sau khi thực thi.
Đặc điểm phương thức trả về
↳ Được khai báo với kiểu dữ liệu trả về (không phải void) sau tên phương thức.
↳ Sử dụng từ khóa return để trả về giá trị cho chương trình gọi.
↳ Giá trị trả về có thể được sử dụng trong các biểu thức hoặc gán cho biến.
Ví dụ: Example.java
public class Example {
// Phương thức trả về giá trị kiểu int
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
Example example = new Example();
// Gọi phương thức add và nhận giá trị trả về
int sum = example.add(5, 3);
System.out.println("Tổng: " + sum); // Output: Tổng: 8
}
}
Kết quả của chương trình là:
Trong ví dụ trên: Phương thức add(int a, int b) trả về một giá trị kiểu int. Kết quả của phương thức add(5, 3) là 8, được trả về và lưu trữ trong biến Tổng.
Cách gọi phương thức trả về trong hàm Main
Nếu phương thức không được khai báo là static, bạn cần tạo một đối tượng của lớp chứa phương thức đó để gọi nó. Nếu phương thức được khai báo là static, bạn có thể gọi nó trực tiếp mà không cần tạo đối tượng của lớp. Để gọi một phương thức trong hàm main của Java, bạn cần thực hiện các bước sau:
↳ Khai báo và định nghĩa phương thức trong lớp của bạn.
↳ Tạo một đối tượng của lớp đó (nếu phương thức không phải là phương thức static).
↳ Gọi phương thức thông qua đối tượng (hoặc trực tiếp nếu là phương static).
Cú pháp phương thức trả về
Để gọi một phương thức trong hàm main, bạn sử dụng cú pháp sau:
Cú pháp
<đối_tượng>.<tên_phương_thức>(<tham_số1_>, <tham_số_2>, ...);
Giải thích từng phần:
↳ <đối_tượng>: Là tham chiếu đến đối tượng của lớp mà phương thức thuộc về.
↳ Dấu chấm: Được sử dụng để phân biệt đối tượng và tên phương thức.
↳ <tên_phương_thức>: Là tên của phương thức cần gọi.
↳ (<tham_số_1>, <tham_số_2>, ...): Là danh sách các tham số truyền vào phương thức (nếu có).
Ví dụ: Example.java
public class Example {
// Phương thức không tĩnh
public void printMessage(String message) {
System.out.println("Tin Nhắn: " + message);
}
// Phương thức trả về tổng của hai số nguyên
public int add(int a, int b) {
return a + b;
}
// Phương thức tĩnh
public static void printMessage1(String message) {
System.out.println("Tin Nhắn 1: " + message);
}
// Phương thức tĩnh trả về tổng của hai số nguyên
public static int add1(int a, int b) {
return a + b;
}
public static void main(String[] args) {
// Tạo một đối tượng của lớp Example
Example example = new Example();
// Gọi phương thức printMessage thông qua đối tượng example
example.printMessage("Xin Chào, Thế Giới!"); // Output: Tin Nhắn: Xin Chào, Thế Giới!
// Gọi phương thức add thông qua đối tượng example và nhận kết quả
int sum = example.add(5, 3);
System.out.println("Tổng: " + sum); // Output: Tổng: 8
// Gọi phương thức tĩnh printMessage trực tiếp
printMessage1("Xin Chào, Phương Thức static!"); // Output: Tin Nhắn 1: Xin Chào, phương thức static!
// Gọi phương thức tĩnh add trực tiếp và nhận kết quả
int sum1 = add1(5, 3);
System.out.println("Tổng 1: " + sum1); // Output: Tổng: 8
}
}
Kết quả của chương trình là:
Tổng: 8
Tin Nhắn 1: Xin Chào, Phương Thức static!
Tổng 1: 8
Lưu ý:
↳ Chỉ có thể gọi các phương thức truy cập công khai (public) từ bên ngoài lớp.
↳ Kiểu dữ liệu và số lượng tham số truyền vào phương thức phải khớp với ↳ kiểu dữ liệu và số lượng tham số được khai báo trong định nghĩa phương thức.
↳ Giá trị trả về của phương thức có thể được sử dụng trong các biểu thức hoặc gán cho biến.
Sự khác biệt giữa phương thức trả về giá trị và phương thức không trả về giá trị
Đặc Điểm | Phương Thức Trả Về | Phương Thức Không Trả Về |
---|---|---|
Kiểu dữ liệu trả về | Có (không phải void) | Void |
Từ khóa return | Sử dụng để trả về giá trị | Không sử dụng |
Mục đích | Thực hiện chức năng và trả về giá trị | Thực hiện hành động, thay đổi trạng thái hoặc tương tác với người dùng |
Ví dụ | getSum() , calculateArea() | printHello() , displayMessage() |
Khi nào sử dụng
Sử dụng phương thức không trả về:
↳ Khi cần thực hiện hành động mà không cần trả về giá trị cụ thể.
↳ Khi cần thay đổi trạng thái của một đối tượng hoặc lớp.
↳ Khi cần hiển thị thông tin hoặc tương tác với người dùng.
Sử dụng phương thức trả về:
↳ Khi cần lấy kết quả sau khi thực thi một chức năng.
↳ Khi cần thực hiện tính toán và trả về giá trị cho các phép toán khác.
↳ Khi cần truy xuất dữ liệu từ một đối tượng hoặc lớp.