Questões sobre Herança
Questão 1
Identifique a alternativa que melhor descreve o conceito de herança.A.
Modificador que permite apenas a própria classe acessar os atributos ou métodos. B.
Técnica de ocultamento dos detalhes dos objetos. C.
Uma associação do tipo todo parte onde as partes podem existir independente do todo. D.
Mecanismo que permite o reaproveitamento de código e organização hierárquica de classes. E.
Nenhuma das anteriores
Questão 2
No Java não é permitido realizar múltipla herança de classes. Ou seja, uma classe não pode estender mais de uma classe ao mesmo tempo.
Diante dessa limitação, qual é o tipo de relacionamento mais utilizado para representar a ideia de “reutilização de comportamentos de múltiplas fontes” em Java?A.
Herança múltipla B.
Associação C.
Composição (ou agregação) D.
Dependência circular E.
Nenhuma das anteriores
Questão 3
Identifique o símbolo da UML que representa a visibilidade protegida.A.
+ B.
- C.
# D.
~ E.
Nenhuma das anteriores
Questão 4
Identifique o símbolo da UML que representa a visibilidade de pacote (package).A.
+ B.
- C.
# D.
~ E.
Nenhuma das anteriores
Questão 5
Analise o diagrama e identifique a alternativa correta.A.
ClasseA representa o objeto "todo" no relacionamento de agregação. B.
ClasseA representa o objeto "todo" no relacionamento de composição. C.
ClasseB depende da ClasseA D.
ClasseB extende a ClasseA E.
Nenhuma das anteriores
Questão 6
Analise o diagrama e identifique as classes que estão em um relacionamento de Herança.A.
ClasseV e ClasseL B.
ClasseF e ClasseB C.
ClasseG e ClasseA D.
ClasseH e ClasseK E.
Nenhuma das anteriores
Questão 7
Analise o código e identifique o diagrama UML que representa corretamente a relação entre as classes.A. B. C. D. E.
Nenhuma das anteriores
class Animal { }
class Cachorro extends Animal { }
Questão 8
Analise o código e identifique o diagrama UML correto da hierarquia.A. B. C. D. E.
Nenhuma das anteriores
class A { }
class B extends A { }
class C extends B { }
Questão 9
Analise o código e identifique o diagrama UML correto.A. B. C. D. E.
Nenhuma das anteriores
class Veiculo { }
class Carro extends Veiculo { }
class Moto extends Veiculo { }
Questão 10
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A {
public void metodo(){
System.out.println("1");
}
}
public class Main{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new Main();
main.metodo();
}
}
Questão 11
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A {
public void metodo(){
System.out.println("1");
}
}
public class Main extends A{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new Main();
main.metodo();
}
}
Questão 12
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A {
public void metodo(){
System.out.println("1");
}
}
public class Main extends A{
public void metodo2(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new Main();
main.metodo();
}
}
Questão 13
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A extends Main{
public void metodo(){
System.out.println("1");
}
}
public class Main{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new A();
main.metodo();
}
}
Questão 14
Analise o código e identifique a mensagem irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A extends Main{
private int i = 9;
}
public class Main{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new A();
System.out.println(main.i);
}
}
Questão 15
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A extends Main{
protected int i = 9;
}
public class Main{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new A();
System.out.println(main.i);
}
}
Questão 16
Analise o código e identifique a mensagem que irá imprimir no terminal.A.
1 B.
2 C.
Erro de compilação. D.
Erro de execução. E.
Nenhuma das anteriores
public class A extends Main{
public int i = 9;
}
public class Main{
public void metodo(){
System.out.println("2");
}
public static void main(String args[]){
Main main = new Main();
System.out.println(main.i);
}
}
Questão 17
Analise o código e identifique o problema que existe no código.A.
Erro de execução. Erro de conversão de tipos. B.
Erro de compilação. Interface não implementada. C.
Erro de compilação. Construtor da super classe deve ser invocado. D.
Erro de compilação. Classe final não pode ser herdada. E.
Nenhuma das anteriores
public class A {
public A(int a){}
}
public class Main extends A{
public Main(){ }
public static void main(String args[]){
Main main = new Main();
}
}
Questão 18
Analise o código e identifique o problema que existe no código.A.
Erro de execução. B.
Erro de compilação. Interface não implementada. C.
Erro de compilação. Construtor da super classe deve ser invocado. D.
Erro de compilação. Classe final não pode ser herdada. E.
Nenhuma das anteriores
public final class A {
public A(){}
}
public class Main extends A{
public Main(){ }
public static void main(String args[]){
Main main = new Main();
}
}
Questão 19
Analise o código e identifique o problema que existe no código.A.
Erro de execução. B.
Erro de compilação. Interface não implementada. C.
Erro de compilação. Construtor da super classe deve ser invocado. D.
Erro de compilação. Classe final não pode ser herdada. E.
Nenhuma das anteriores
public class A {
public A(int a){}
}
public class Main extends A{
public Main(){ super(0); }
public static void main(String args[]){
Main main = new Main();
}
}
Questão 20
Analise o código e identifique o problema que existe no código.A.
Erro de execução. B.
Erro de compilação. Interface não implementada. C.
Erro de compilação. Construtor da super classe deve ser invocado. D.
Erro de compilação. Classe final não pode ser herdada. E.
Nenhuma das anteriores
public class A {
public A(int a){}
}
public class Main extends A{
public Main(){ }
public static void main(String args[]){
Main main = new A(1);
}
}
Questão 21
Analise e identifique o problema que existe no código.A.
Erro de execução. B.
Erro de compilação. Interface não implementada. C.
Erro de compilação. Construtor da super classe deve ser invocado. D.
Erro de compilação. Classe final não pode ser herdada. E.
Nenhuma das anteriores
public class A {
public A(int a){}
}
public class Main{
public Main(){ }
public static void main(String args[]){
Main main = new A(1);
}
}
Questão 22
Analise o código e identifique o resultado da execução.A.
A B.
B C.
Erro de compilação. O método não pode ser sobrescrito. D.
Erro de execução. E.
Nenhuma das anteriores
public class A {
public final void metodo(){
System.out.println("A");
}
}
public class B extends A {
public void metodo(){
System.out.println("B");
}
public static void main(String args[]){
B b = new B();
b.metodo();
}
}
Questão 23
Analise o código e identifique o problema existente.A.
A B.
B C.
Erro de compilação. Classe final não pode ser herdada. D.
Erro de compilação. Método final não pode ser sobrescrito. E.
Nenhuma das anteriores
public final class A {
public void metodo(){
System.out.println("A");
}
}
public class B extends A {
public void metodo(){
System.out.println("B");
}
public static void main(String args[]){
B b = new B();
b.metodo();
}
}
Questão 24
Analise o código e identifique o que será impresso no terminal.A.
A1 e A2 B.
B1 e A2 C.
B1 e C2 D.
A1 e C2 E.
Erro de compilação
public class A {
public void metodo1(){
System.out.println("A1");
}
public void metodo2(){
System.out.println("A2");
}
}
public class B extends A {
@Override
public void metodo1(){
System.out.println("B1");
}
}
public class C extends B {
@Override
public void metodo2(){
System.out.println("C2");
}
public static void main(String args[]){
C obj = new C();
obj.metodo1();
obj.metodo2();
}
}
Questão 25
Analise o código e identifique o que será impresso no terminal.A.
A1 e A2 B.
B1 e A2 C.
B1 e C2 D.
A1 e C2 E.
Erro de compilação
public class A {
public void metodo1(){
System.out.println("A1");
}
public void metodo2(){
System.out.println("A2");
}
}
public class B extends A {
@Override
public void metodo1(){
System.out.println("B1");
}
}
public class C extends B {
@Override
public void metodo2(){
System.out.println("C2");
}
}
public class Main {
public static void main(String args[]){
A obj = new B();
obj.metodo1();
obj.metodo2();
}
}
Questão 26
Analise o código e identifique o resultado da execução.A.
OK B.
Erro de compilação C.
Erro de execução (ClassCastException) D.
Nenhuma das anteriores E.
O código não compila pois não há métodos
public class A { }
public class B extends A { }
public class C extends B { }
public class D extends B { }
public class Main {
public static void main(String args[]){
A obj = new C();
D d = (D) obj;
System.out.println("OK");
}
}
Questão 27
Analise o código e identifique o resultado da execução.A.
OK B.
Erro de compilação C.
Erro de execução (ClassCastException) D.
Nenhuma das anteriores E.
Conversão inválida entre classes
public class A { }
public class B extends A { }
public class C extends B { }
public class D extends B { }
public class Main {
public static void main(String args[]){
A obj = new C();
B b = (B) obj;
System.out.println("OK");
}
}