Kiểu trả về hiệp biến đề cập đến kiểu trả về của một phương thức ghi đè. Nó cho phép thu hẹp kiểu trả về của một phương thức được ghi đè mà không cần ép kiểu hoặc kiểm tra kiểu trả về. Kiểu trả về đồng biến chỉ hoạt động đối với kiểu trả về không phải nguyên thủy.
Từ Java 5 trở đi, chúng ta có thể ghi đè một phương thức bằng cách chỉ thay đổi kiểu trả về của nó bằng cách tuân theo điều kiện rằng kiểu trả về là một lớp con của kiểu trả về phương thức bị ghi đè.
Ví dụ sau đây hiển thị giống nhau.
Ví dụ
class SuperClass { SuperClass get() { System.out.println("SuperClass"); return this; } } public class Tester extends SuperClass { Tester get() { System.out.println("SubClass"); return this; } public static void main(String[] args) { SuperClass tester = new Tester(); tester.get(); } }
Đầu ra
Subclass