folks,
não entendi por que o resultado é A e B…
essa orientação objeto está me deixando maluco …alguém tem uma receita
alguem pode me ajudar …
abs
class Superbase{}
class Base extends Superbase{}
class Derived extends Base {}
class CovariantTest1{
public Base getIt(){
return new Base();
}
}
class SubCovariantTest extends CovariantTest1{
// inserir 2 codigos abaixo que compila
}
a) public Derived getIt() {
return new Derived();
}
b) public Base getIt(){
return new Derived();
}
c) public SuperBase getIt(){
return new Base();
}
d) public Derived getIt(){
return new Base();
}
------------------------
o de baixo tb …o resultado que deu
class SuperBase{
void print (SuperBase a){
System.out.print("Super");
}
}
class Base extends SuperBase{
void print (Base b){
System.out.print("Base");
}
}
class Derived extends Base{
static void print (Derived c){
System.out.print("Derived");
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
SuperBase a1 = new SuperBase();
SuperBase b1 = new Base();
Base c1 = new Derived();
a1.print(new Base());
b1.print(new Derived());
c1.print(new Derived());
}
}