Olá,
No exercício 6, da seção 9.3, temos isso:
package savings;
public class SavingsAccount extends model.Account {
void close() {
System.out.println("closing savings");
}
}
package model;
public class Account {
public void close() {
System.out.println("closing base");
}
}
package model;
import model.*;
import savings.*;
class A {
public static void main(String[] args) {
new Account().close();
}
}
No final do livro, na parte das respostas, diz que a alternativa correta para essa questão é a que diz que o código compila e imprime “closing base”. Porém, eu acho que esse código não compila. A classe SavingsAccount
está tentando sobrescrever o método close
com visibilidade menor do que a de Account
. Eu diria que a alternativa certa é a que diz “Não compila”.
Estou certo?