1.1 - Definir o Escopo de Variáveis

Description

Objetivo 1.1 do Exame de OCAJP 8 - Definir o escopo de variáveis.
Luis Felipe Guariento
Note by Luis Felipe Guariento, updated more than 1 year ago
Luis Felipe Guariento
Created by Luis Felipe Guariento over 5 years ago
18
0

Resource summary

Page 1

Objetivo: o básico da LP Java

Definir o escopo de variáveis Definir a estrutura de uma classe Java Criar aplicações Java executáveis com o método main; rodar um programa Java a partir da linha de comando; produzir saída no console Importar outros pacotes Java tornando-os acessíveis em seu código. Comparar e contrastar as características e componentes do Java como independência de plataforma, orientação a objetos, encapsulamento, etc.

Page 2

Definição - Escopo de Variáveis

O escopo de uma variável é a sessão do programa na qual ela estará visível. Identificadores de variáveis tem escopo estático, isto é, o escopo da variável será determinado em tempo de compilação, e não em tempo de execução. Havendo erros com o escopo da variável, o compilador irá informá-lo. Isso é ótimo, pois você não precisa se preocupar a respeito de bugs gerados por erros de escopo quando o programa tiver rodando.

Page 3

Escopo a nível de classe

São variáveis ao nível de classe, também conhecidos como "campos", serão declaradas dentro de uma classe mas fora de quaisquer métodos. Uma variável ao nível de classe será acessível a partir de qualquer código dentro da classe, e talvez também fora dela, dado que um modificador de acesso adequado esteja presente. Há três tipos de modificadores: public, protected e private. Caso nenhum modificador seja especificado, será considerado que a variável possui o modificador package ( ou de pacote ). A tabela abaixo indica o acesso de variáveis ao nível de classe ( Y = Yes, N = No ) de cada modificador.

Page 4

Acima vemos um exemplo do escopo a nível de classe, que é indicado pela variável number1. Acima temos um exemplo do escopo a nível do método dado pela variável number2. Acima, a variável number3 é um exemplo de variável de escopo de bloco.

Page 5

Escopo ao nível de método

Variáveis declaradas dentro de um método, também conhecidas como variáveis locais, são de escopo de método, não podendo ser acessada por um código que se encontra fora do método  e visíveis desde sua declaração até o retorno do método. Parâmetros de métodos não são diferentes de variáveis locais exceto pelo fato de que ao invés de serem declaradas e inicializadas dentro do corpo do método, elas são declaradas como parte da assinatura do método e inicializadas quando o método é chamado.

Page 6

Escopo ao nível de Bloco

Um escopo ao nível de bloco é definido por um par de chaves de abertura-fechamento  { } Uma variável declarada nesse escopo somente se torna acessível dentro de sua declaração e até o fechamento da chave } sendo inacessível ao código fora do bloco.

Page 7

Questões

A variável number2 somente será acessível ao método doSomething(), pois é uma variável com escopo de método. A variável number1 é uma variável com escopo de classe, entretanto devido ao modificador private, ela somente será acessível à classe na qual é declarada, ou seja, a MyClass. A variável number3 é declarada fora do método e não é uma variável com escopo de bloco, não possuindo nenhum modificador de acesso, sendo uma variável com escopo de classe de acesso default ou pacote ( será acessível apenas dentro da classe MyClass ou por outras classes, contanto que estejam no mesmo pacote de MyClass ). Portanto, a alternativa c.number3 será nossa resposta!

Page 8

As variáveis number1 e number3 são variáveis com escopo de classe e portanto podem ser acessadas no código denotado pelo comentário //do something. Entretanto, a variável number2 não pode ser acessada por esse código pois não poderá ser acessada antes de ser declarada! (variável local de método). Certa: alternativa B. number2

Page 9

Pelo código acima vemos uma variável de bloco ser declarada com mesmo nome da variável de método (number). Temos que,como o bloco se localiza dentro do método main, variáveis declaradas no método main serão também acessíveis dentro do bloco declarado em main e não podemos ter o mesmo nome de variável declarada antes do bloco e dentro do bloco. O resultado disso é um erro de compilação, alternativa A.

Page 10

No código acima temos que a variável number será uma variável de classe, o que quer dizer que será acessível a qualquer código dentro da classe na qual é declarada. Essa variável será incrementada 2x ( dentro do método main e no interior do bloco de inicialização ). Resultando no valor 2. Resposta letra D.

Page 11

Sumário

Variáveis no nível de classe: variáveis declaradas dentro de uma classe mas fora de quaisquer métodos. Variáveis no nível de método: declaradas no interior de um método e visíveis desde sua declaração até o retorno do método Variáveis com escopo de bloco: declaradas dentro de um bloco e visíveis desde sua declaração até a chave de fechamento do bloco }

Show full summary Hide full summary

Similar

Planejamento no desenvolvimento de software de qualidade
Davi Morais
Abordagem para Desenvolver Tecnologia de Software com Apoio de Estudos Secundários e Primários
Tainá Isabela
Desenvolvimento de Software
Diego Souza
AO03_MapaMental_ViniciusGabriel
Vinicius Gabriel
SISTEMA DE INFORMÇÃO
Fabio Portela
Modelamento de Sistemas - Diagrama de Classes
Éder Leite
IMAGS Employment Examination for Applicants
mike_101290
Organic Chemistry
Megan Tarbuck
Coastal Development and physical processess
Corey Meehan
Types of Learning Environment
Brandon Tuyuc