Giới thiệu
Overloading trong Java là một khái niệm cho phép bạn định nghĩa nhiều phương thức cùng một tên trong một lớp nhưng với số lượng hoặc loại tham số khác nhau. Có thể nói, nó là một cách để tạo ra nhiều phương thức có cùng tên trong một lớp nhưng với signature khác nhau.
Signature của một phương thức bao gồm tên phương thức cùng với loại và số lượng tham số. Khi bạn sử dụng overloading, Java sẽ phân biệt giữa các phương thức dựa trên signature của chúng. Điều này giúp tăng tính linh hoạt và sự thuận tiện trong việc sử dụng các phương thức, vì bạn có thể gọi cùng một tên phương thức nhưng với các loại tham số khác nhau.
Ví dụ:
Ở ví dụ trên, có ba phương thức add trong cùng một lớp với signature khác nhau. Phương thức đầu tiên thêm hai số nguyên, phương thức thứ hai thêm hai số thực, và phương thức thứ ba nối hai chuỗi. Khi bạn gọi phương thức add, Java sẽ xác định phương thức cụ thể được gọi dựa trên loại và số lượng tham số bạn cung cấp.
Phương thức signature là gì?
Signature của một phương thức bao gồm tên của phương thức cùng với loại và số lượng tham số. Dưới đây là signature của ba phương thức add trong ví dụ:
public int add(int a, int b): Signature là add(int, int).
public double add(double a, double b): Signature là add(double, double).
public String add(String a, String b): Signature là add(String, String).
Khi bạn gọi một phương thức, Java sẽ kiểm tra signature của các phương thức để xác định phương thức cụ thể nào sẽ được gọi dựa trên loại và số lượng tham số bạn cung cấp.
Comentários