SóProvas


ID
5474686
Banca
CESGRANRIO
Órgão
Banco do Brasil
Ano
2021
Provas
Disciplina
Programação
Assuntos

As classes Java a seguir são públicas e ocupam arquivos separados.

public class Tst {

     int ini=0,fim=25;

     void print() {
                System.out.println(ini+fim);
     }

     {
                 ini=fim%7;
                fim=ini*3;
     }

     Tst(int a, int b) {
                 ini+=a;
                fim+=b;
     }

    {
              ini/=2;
              fim+=10;
     }
}

public class Main {

     public static void main(String[] args) {
           new Tst(4, -4).print();

     }

}

O que será exibido no console quando o método main for executado?

Alternativas
Comentários
  • Em Java, a inicialização segue esta ordem:

    - Variáveis estáticas e blocos de inicialização estáticos, na ordem; (só é feito 1 vez quando a classe é carregada)

    - Variáveis de instância e blocos de inicialização de instância, na ordem;

    - Construtor.

     

    Terei então:

    1) ini=0; fim=25;

    2) ini=fim%7; fim=ini*3; -> ini=4, fim=12

    3) ini/=2; fim+=10; -> ini=2, fim=22

    4) ini+=a; fim+=b; -> ini=6, fim=18

    5) ini+fim; -> 24