Java и перегрузка свойств - PullRequest
0 голосов
/ 14 ноября 2018

Я застрял в этой проблеме, используя eclipse 2018-12 (4.10) / Java 11 на Debian 9

Допустим, у меня есть базовый класс

class A {

   private typeA prop;

   TypeA getProp(){
      return this.prop;
   }
}

и производная

class B extends A{
 private typeB prop;

 TypeB getProp(){
    return this.prop;
}

Я ожидаю, что опора в классе B скрывает опору в классе A, но в затмении я получил сообщение об ошибке в классе B для метода getProp: Тип возвращаемого значения несовместим с A.getProp ()

есть идеи?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

вы можете попробовать использовать такие интерфейсы:

interface Type {
    // ...
}

class TypeA implements Type {
    // ...
}

class TypeB implements Type {
    // ...
} 

class A {

   private TypeA prop;

   Type getProp(){
      return this.prop;
   }
}

class B extends A {

    private TypeB prop;

    Type getProp(){
        return this.prop;
    }
}
0 голосов
/ 14 ноября 2018

Решено с использованием комментария JB Nizet через наследование TypeA -> TypeB

...