Vídeo: 13 Certificação Java (Valor padrão de uma variável) 2024
À medida que suas aplicações Java se tornam mais complexas, a necessidade de considerar o escopo torna-se cada vez mais importante. O motivo principal é que você pode inadvertidamente introduzir um erro em seu aplicativo ao não observar as regras de escopo.
Isso pode resultar de um campo ou outro membro que está sendo usado incorretamente pelo aplicativo (como adicionar um valor de dados incorreto ou acessar um método em o tempo incorreto ou com dados incorretos). Além disso, o escopo incorreto pode deixar a porta aberta para pessoas de fora para interagir com sua aplicação de maneiras imprevistas (como um vírus).
O escopo padrão ocorre quando você não atribui especificamente um escopo a um elemento de classe. Como muitos desenvolvedores Java não tem idéia do que o escopo padrão é para alguns elementos (e usando um escopo padrão significa que seu código não está documentado), ele não é usado com muita frequência.
Mesmo assim, você precisa de t o saber o que o escopo padrão é para vários elementos porque alguns desenvolvedores Java confiam nisso. No entanto, antes de entender o escopo padrão, você deve considerar visibilidade - a medida de quais elementos do aplicativo podem ver um membro. O Java fornece os seguintes níveis de visibilidade (em ordem geral de encapsulamento):
-
Pacote: O recipiente usado para armazenar várias classes. Ao trabalhar com uma estrutura de diretório simples, como o fazem os exemplos desse livro, o pacote é um diretório que contém um número de. arquivos de classe.
-
Classe: A classe geralmente reside em um único. arquivo java que você compila em um. arquivo de classe. Contém uma declaração de classe única.
-
Método: Um elemento pode residir na classe ou como parte de um método. O método atua como um recipiente para manter o elemento.
-
Bloco: Um elemento pode residir dentro de um bloco de código, como um loop for.
O escopo depende parcialmente da localização usada para declarar um elemento. Por exemplo, uma variável que está definida dentro de um bloco (como um loop for) é visível somente dentro desse bloco. Quando você tenta usar a variável fora do bloco, o Java exibe uma exceção. Tendo em vista a visibilidade, esta tabela descreve os vários níveis de escopo dentro do ambiente Java.
Visibilidade | privado | (padrão) | protegido | público |
---|---|---|---|---|
Acessível a partir da classe | X | X | X | X |
Acessível a partir do pacote | X | X | X | |
Acessível a partir de qualquer classe secundária | X | X | ||
Acessível em qualquer lugar | X |
A tabela mostra como o escopo padrão se enquadra no esquema das coisas. Por exemplo, se você declarar um método usando o escopo padrão, qualquer método pode usá-lo enquanto ele for residido no mesmo pacote.Além disso, se você criar uma classe que herda da classe que contém o método, a subclasse pode usar o método, desde que resida no mesmo pacote.
No entanto, se a subclasse existe fora do pacote atual, não pode usar o método. Em suma, o escopo padrão é um pouco mais restritivo que o escopo protegido, mas menos restritivo do que o escopo privado.