Olá! Eu não consigo alterar o atributo estado da classe orçamento... Ao colocar Protected, não consigo alterá-lo em uma classe externa, o valor não deveria ser alterado para public?
public class Orcamento {
protected double valor;
private List<Item> list = new ArrayList<>();
protected EstadoDoOrcamento estado;
public void aprova(){
estado.aprova(this);
}
}
public interface EstadoDoOrcamento {
public void aplicaDescontoExtra(Orcamento orcamento);
public void aprova(Orcamento orcamento);
public void reprova(Orcamento orcamento);
public void finaliza(Orcamento orcamento);
}
public class EmAprovacao implements EstadoDoOrcamento{
@Override
public void aprova(Orcamento orcamento) {
orcamento.estado = new Aprovado();
}
}
O código acima simplesmente não compila, alguém pode me dizer onde estou errando?