Teste de certificação [RESOLVIDO]

1 resposta
guj1

O erro informa que o modificador “protected” não é permitido e somente o modificador “final” é permitido.
Perguntas:

é por que o atributo x tem escopo de método?
Eu testei e nem public é permitido colocar.

Uma pergunta curiosa: como há uma classe criada dentro de outra classe, como é o comportamento dentro da memória quando se criar um objeto da classe principal?

public class Jail {
	private int x = 4;
	public static void main(String[] args) {
		protected int x = 6;                  //O erro está nessa linha.
		new Jail().new Cell().slam();
	}

	class Cell {
		void slam() {
			System.out.println("throw away key " + x);
		}
	}
}

1 Resposta

A

Variáveis dentro de método possui escopo que dura enquanto o método estiver sendo usado . Portanto, não podem ser public, private , protected . Somente podem ter o modificador final . Não poderão ser acessados fora do método e por padrão não podem ser public, nem private . São uma espécie de superprivate ou variáveis locais.

Na memória ficam apenas os objetos criados . As referências a esses objetos é o programa (aplicação) que vai definir.

Criado 3 de março de 2014
Ultima resposta 4 de mar. de 2014
Respostas 1
Participantes 2