SóProvas


ID
339520
Banca
COSEAC
Órgão
DATAPREV
Ano
2009
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

01  class Prova{
02  public int a;
03
04  Prova(int _a){
05  a = _a;
06  }
07  public void acrescenta(int n){
08  a += n;
09  }
10  public void acrescenta(){
11  a++;
12  }
13  }
14  class SubProva extends Prova{
15  private int b;
16  SubProva(int umb, int uma){
17  super(uma);
18  b = umb;
19  }
20  public void acrescenta(int n){
21  b=b+n+2;
22  }
23  public static void main (String args[ ]) {
24  SubProva s = new SubProva(2,5);
25  Prova p = new Prova(2);
26  s.acrescenta(3);
27  p.acrescenta();
28  System.out.println(s.b+s.a);
29  System.out.println(p.a);
30  s.acrescenta();
31  System.out.println(" "+s.b+p.a+s.a) ;
32  }
33 }

Com relação ao programa anterior, é correto afirmar que:

Alternativas
Comentários
  • Essa questão é uma leve pegadinha, pois se fosse somente s.b+p.a+s.a, seria 16. Mas como possui o " "+s.b+p.a+s.a, acaba concatenando então se torna 736.

  • Galera, rodem o código em algum compilador online, por que não é a e)? o b é privado, dá erro na linha 28!

    public class Prova{

    public int a;

    Prova(int _a){

     a = _a;

     }

     public void acrescenta(int n){

     a += n;

     }

     public void acrescenta(){

     a++;

     }

     }

     class SubProva extends Main{

     private int b;

     SubProva(int umb, int uma){

     super(uma);

     b = umb;

     }

     public void acrescenta(int n){

     b=b+n+2;

     }

     public static void main(String[] args) {

     SubProva s = new SubProva(2,5);

     Prova p = new Prova(2);

     s.acrescenta(3);

     p.acrescenta();

     System.out.println(s.b+s.a);

     System.out.println(p.a);

     s.acrescenta();

     System.out.println(" "+s.b+p.a+s.a) ;

     }

     }