Menu
CoddyTech

Nạp chồng phương thức

Thuộc phần Nền tảng cơ bản trong hành trình Java của Coddy. Bài học 54 trên 73.

Trong Java, method overloading cho phép bạn định nghĩa nhiều phương thức có cùng tên nhưng tham số khác nhau. Điều này có nghĩa là bạn có thể tạo nhiều phương thức thực hiện chức năng tương tự nhưng hoạt động với các kiểu dữ liệu khác nhau hoặc số lượng đối số khác nhau.

Điều quan trọng là mỗi phương thức được nạp chồng phải có chữ ký phương thức riêng biệt. Chữ ký phương thức được xác định bởi tên phương thức, kiểu dữ liệu và thứ tự các tham số.

Sau đây là các quy tắc chính về nạp chồng phương thức:

  1. Cùng tên: Tất cả các phương thức được nạp chồng phải có cùng tên.
  2. Tham số khác nhau: Mỗi phiên bản của phương thức phải có số lượng tham số khác nhau, kiểu tham số khác nhau hoặc cả hai.
  1. Chỉ khác kiểu trả về là chưa đủ: Các phương thức được nạp chồng không thể chỉ khác nhau về kiểu trả về. Chúng phải có danh sách tham số khác nhau.

Đây là ví dụ minh họa việc nạp chồng phương thức:

public class MathUtils {
    public static int add(int a, int b) {
    	return a + b;
    }

	public static double add(double a, double b) {
		return a + b;
	}

	public static int add(int a, int b, int c) {
		return a + b + c;
	}
}

Trong ví dụ này, chúng ta có ba phương thức tên là add. Phương thức đầu tiên cộng hai số nguyên, phương thức thứ hai cộng hai số thực và phương thức thứ ba cộng ba số nguyên.

Java xác định phương thức cần gọi dựa trên các đối số được truyền vào khi gọi phương thức.

Nạp chồng phương thức giúp code dễ đọc và tái sử dụng hơn. Thay vì đặt các tên khác nhau cho những phương thức thực hiện các tác vụ tương tự (ví dụ: addInts, addDoubles, addThreeInts), bạn có thể dùng một tên duy nhất là add và để trình biên dịch chọn phương thức phù hợp dựa trên ngữ cảnh.

Hãy nhớ: nạp chồng yêu cầu các tham số có kiểu dữ liệu hoặc số lượng khác nhau, chứ không chỉ khác tên tham số hoặc giá trị trả về.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Trình biên dịch Java online