Dentre as aplicações dadas, Static aplica-se APENAS a
considere os modificadores Java e sua aplicação em
I. Atributo.
II. Variável local.
III. Método.
IV. Classe.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C - I e III.
No contexto da linguagem de programação Java, o modificador static pode ser utilizado para criar membros de classe que podem ser acessados de forma independente de qualquer objeto específico da classe. Isso significa que esses membros pertencem à classe em si, e não a uma instância da classe.
Quando aplicamos static a um atributo (I), estamos declarando uma variável que será compartilhada por todas as instâncias da classe, também conhecida como variável de classe. Isto é útil, por exemplo, quando queremos ter um contador comum a todos os objetos criados a partir da classe.
Já a aplicação de static a um método (III) permite que ele seja chamado sem que seja necessário criar uma instância da classe. Métodos estáticos são comumente utilizados para realizar operações que não requerem dados de um objeto específico, como métodos utilitários matemáticos (por exemplo, Math.sqrt()
).
Por sua vez, static não é aplicável a variáveis locais (II), pois elas são criadas no stack e têm escopo limitado ao bloco de código em que são declaradas. Além disso, uma variável local estática não faria sentido, pois ela perderia seu valor assim que o bloco de código em que está inserida terminasse sua execução.
Quanto a aplicação de static em classes (IV), temos que entender que não se aplica diretamente. Em Java, static pode ser usado em classes internas para indicar que a classe interna não está associada a uma instância específica da classe externa, mas essa não é a aplicação direta para a classe em si, e sim para uma classe aninhada.
Portanto, a aplicação correta do modificador static se dá apenas em atributos e métodos, tornando a alternativa C a resposta correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
main é um método (ítem III), mas apesar disso você está certo: o modificador static pode ser aplicado à classes (internas), como em:
class Static {
static int a;
static class OlhaAqui {
static void metodo() {}
}
}
pode compilar aí pra ver ;)
ps: acho difícil, pois a questão é de 2009, mas será que o edital não exigia uma versão de Java da época em que não era possível classes static?
Beto Campos, eu acredito que o que você falou não seja uma classe e sim um método.
public static void main (String args[]){
}
Assim, a questão está correta
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo