interface Fish { }
class Perch implements Fish { }
class Walleye extends Perch { }
class Bluegill { }
public class Fisherman
{
public static void main(String[] args) {
Fish f = new Walleye();
Walleye w = new Walleye();
Bluegill b = new Bluegill();
if(f instanceof Perch) System.out.print("f-p ");
if(w instanceof Fish) System.out.print("w-f ");
if(b instanceof Fish) System.out.print("b-f ");
}
}
Pra mim era para dar erro na linha 20, já que é impossível b ser uma instância de Fish. Alguém pode me explicar porque não gera erro de compilação na linha 20?