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:
- 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.
- 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.
- 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.
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
4Toán tử phần 1
Toán tử số họcToán tử moduloTăng/giảmTăng/giảm sauPhép rút gọn số họcToán tử so sánhSo sánh chuỗi7Nhập xuất cơ bản
Các phương thức System.outĐịnh dạng đầu raLớp ScannerÔn tập: đến 120Ôn tập: đúng hay sai10Phương thức (hàm)
Khai báo phương thứcTham số phương thứcKiểu trả vềNạp chồng phương thứcÔn tập: hàm SigmaÔn tập: hàm xác thựcPhương thức void5Toán tử, phần 2
Toán tử logic, phần 1Toán tử logic, phần 2Ôn tập: logic cơ bảnToán tử logic, phần 3Toán tử logic, phần 411Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcTự luyện tập: Trình biên dịch Java online