Java Covariant Return Type

Posted by dogukanhan on March 21, 2020 · 1 min read

Katılım kullanılırken override edilen metotun return tipinin yine kalıtım içerisinde olacak şekilde değiştirilebilmesidir.

B1 sınıfı A sınıfını extends etmiş ve get metotunu override etmiştir bunun yanında get metotu A sınıfında A tipinde olmasına karşın B sınıfında değiştirilerek B1 tipinde olması sağlanmıştır.

class A {
        A get() {
            return this;
        }
    }

    class B1 extends A {
        B1 get() {
            return this;
        }
    }