ID 697321 Banca FCC Órgão TRE-SP Ano 2012 Provas FCC - 2012 - TRE-SP - Analista Judiciário - Análise de Sistemas Disciplina Engenharia de Software Assuntos Orientação a Objetos Sobre herança na orientação a objetos com Java é correto afirmar: Alternativas Um erro de compilação ocorre se um construtor de subclasse chamar um de seus construtores de superclasse com argumentos que não correspondem exatamente ao número e tipos de parâmetros especificados em uma das declarações de construtor de superclasse. Com a herança, as variáveis de instância comuns e os métodos de todas as classes na hierarquia são declarados em uma subclasse. Quando as alterações são requeridas para esses recursos comuns, os desenvolvedores só precisam fazer as alterações na subclasse - as superclasses herdam as alterações. É aconselhável utilizar o modificador de acesso public quando uma superclasse precisar fornecer um método somente para suas subclasses e outras classes do mesmo pacote, mas não para outros clientes. Não é adequado sobrescrever na subclasse métodos da superclasse para fornecer versões que são mais apropriadas para os objetos da subclasse. Quando um programa cria um objeto da superclasse, o construtor da superclasse imediatamente chama o construtor da subclasse (explicitamente, via super ou implicitamente). Responder Comentários A) CORRETA: Um construtor que recebe parametros precisa ser previamente definido para receber qualquer tipo de instaciação informando os mesmos.B) INCORRETA: Variaveis e metodos comuns devem ficar na superclasse e não na subclasse.C) INCORRETA: Se o metodo da superclasse deve ser acessado apenas por suas subclasses então a assinatura do metodo deve ser protected e não public.D) INCORRETA: Na verdade É ADEQUADO sobrescrever metodos da superclasse na subclasse para definições especificas da subclasse.E) INCORRETA: Quando a superclasse é instanciada não existe envolvimento das suas subclasses. Quando li a A achei que podia ser a resposta apesar de ter um erro. Depois li as outras e confirmou minha suspeita Não sou especialista em Java, mas acredito que a A se equivoca ao ignorar a possibilidade do cast implícito e dizer que um ero ocorre ao invés de "poderá ocorrer". Afinal se o construtor da superclasse receber um Object e passarmos objeto de outra classe, ou ainda esperar um int e passarmos um smallint não teria erro.