Sie sind auf Seite 1von 41

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Capítulo 1
Declarações e Controle de Acesso

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Sumário
1. Revisão de Java
•Classe, objeto, estado e comportamento.
•Identificadores e palavras-chave
•Herança
•Interfaces

2. Identificadores Legais
• Identificadores Legais
•Convenções de código Java SUN
•Padrões Java Beans
•Regras de nomeação de Listeners JavaBeans

3. Declaração de classe
•Regras de declaração para arquivos-fonte
•Declarações e modificadores de classe

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Sumário
4. Declaração de interface
•Declarando uma interface
•Declarando constantes de interface
5. Declaração de Membros de classe
•Modificadores de acesso
•Modificadores não-referentes a acesso
•Declaração de construtores
•Declaração de variáveis
6. Declarando Enums
•Declaração de construtores, métodos e variações em um enum
7. Resumos e exercícios rápidos

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Revisão de Java
Classe: é um modelo que descreve os tipos de estado e comportamento que
objetos do mesmo tipo podem ter.
Objeto: instância de uma classe, ou seja é criado no runtime possuindo estado e
comportamento definidos pelo seu tipo. É uma abstração que representa uma
entidade que pode ser física, conceitual ou de software.

Estado (variáveis de instância): Cada objeto terá o seu conjunto único de variáveis
de instâncias definido pela sua classe. Todos os valores atribuídos às variáveis de
instância compõem o estado do objeto.

Comportamento: são os métodos de uma determinada classe. Métodos são a


parte lógica de uma classe, onde os algoritmos são executados e dados
manipulados.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Revisão de Java
Identificadores: são os nomes de classes, variáveis e métodos. Existem regras
dizendo como devem ser os identificadores Java permitidos.
Herança: é uma propriedade dos objetos, que permite ao código (características do
objeto) definido em uma classe ser reutilizado em outras classes. Define-se uma
superclasse geral e depois a estende com subclasses mais específicas.

Interface: É uma espécie de superclasse 100% abstrata que define os métodos que
uma subclasse deve suportar. Não há implementação de métodos na superclasse.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Identificadores Legais
Regras que o compilador usa pra determinar se um nome é válido.

• Devem ser compostos apenas de caracteres Unicode, números, símbolos


de moedas e caracteres de conexão (underline).
• Devem começar com uma letra, um cifrão ou caracter de conexão. Não
podem começar com números.
• Depois do 1º caracter, os identificadores podem ter qualquer combinação
de letra, caracter de moeda, números ou caracteres de conexão.
• Na prática, não há limites p/ nº de caracteres.
• Não se pode usar palavras-chave Java como identificador.
• Os identificadores são case-sensitive.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Identificadores Legais
Exemplos:

int _a; LEGAL

int :b; ILEGAL

float $c; LEGAL

float 7g; ILEGAL

string inconstitucionalissimamente_paralelepipedo; LEGAL

int e#; ILEGAL

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Palavras-chave

abstract boolean break byte case catch


char class const continue default do
double else extends final finally float
for goto if implements import instanceof
int interface long native new package
private protected public return short static
strictfp super switch synchronized this throw
throws transient try void volatile while
assert enum

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Convenção de Código Java da SUN


A SUN criou um conjunto de padrões de programação para Java e publicou no
documento chamado “Convenções de Código Java”.

Objetivo: ajudar na diminuição do esforço envolvido em testar, fazer manutenções


e melhorar código.

Padrões para Classes e Interface:

• A 1ª letra deve ser maiúscula. Se palavras forem escritas juntas, a 1ª letra


de cada palavra deve ser escrita com letra maiúscula.

Ex.: CruzeiroTitulos;
Cachorro;
Conta.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Convenção de Código Java da SUN


• Para interfaces, os nomes devem ser adjetivos.

Ex.: Runnable (executável);


Serializable (serializável).

Padrões para Métodos:


• A primeira letra deve ser minúscula, depois as regras normais devem ser
usadas. Normalmente, os nomes são pares verbo-substativo.
Ex: getConta;
setNome;
calculaMedia;

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Padrões JavaBeans
O que é JavaBeans?

• São classes Java que tem propriedades. Essa especificação foi criada para
ajudar desenvolvedores a criarem componentes Java que possam ser
usados por outros desenvolvedores.

Regras de Nomeação de Propriedades JavaBean:


• Se a propriedade não for booleana, o prefixo do método getter deve ser
get.
Ex: getSize();
• Se a propriedade for booleana, o prefixo do método getter é ou get ou is.
Ex: getStopped(); isStopped();
• O prefixo do método setter deve ser set.
Ex: setSize();

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Padrões JavaBeans
• Para completar o nome de um método getter ou setter, deve-se mudar a
primeira letra do nome da propriedade p/ maiúscula e depois juntar a ela
o prefixo adequado.
• As assinaturas de métodos setter devem ser marcadas como public, com o
tipo de retorno void e um argumento que represente o tipo da
propriedade.
• As assinaturas de métodos getter devem ser marcadas como public, não
usar argumentos e ter um tipo de retorno que combine com o tipo do
argumento do método setter para propriedade em questão.

Regras de Nomeação de Listeners JavaBean:


• Os nomes dos métodos listeners usados p/ “registar” um listener, deve ter
o prefixo add.
Ex: addActionListener();

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Padrões JavaBeans
• Nomes de métodos Listeners usados p/ remover um listener, devem usar
o prefixo remove.
Ex: removeActionListener();

• O tipo de listener deve ser passado como argumento para o método.


Ex: public void windowClosing(WindowEvent e);

• Os nomes de métodos listener deverão terminar com a palavra Listener.

Algums exemplos de JavaBeans válidos: Alguns exemplos de JB inválidos:

public void setUmValor(int valor); void setClienteNome(String nome);

public boolean isStatus (); public void addXListener(Listener l);

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de classe
Regras de declaração para arquivos-fonte:

• Só pode haver uma classe public em cada arquivo de código-fonte.


• Os comentários podem aparecer no ínicio ou no fim de qualquer
linha;
• Se houver uma classe public em um arquivo, o nome do arquivo deve
ser o mesmo da classe.
• Se a classe fizer parte de um pacote, a declaração do package deve
estar na 1ª linha do arquivo do código-fonte, antes do import;
• Se houver declarações import, elas devem ficar entre a declaração do
package e a declaração da classe. Se não houver declaração de
package, o import deve estar na 1ª linha.
• As declarações de import e package aplicam-se a todas as classes
dentro de um arquivo de código-fonte.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de classe
Regras de declaração para arquivos-fonte:

• Um arquivo pode ter mais de uma classe não-pública.


• Arquivos que não tenham classes public podem ter um nome que não
seja o mesmo de nenhuma das classes do arquivo. (Em detalhes no
cap. 10)

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Modificadores de Acesso
Os modificadores estão divididos em 2 grupos:

• Modificadores de acesso: public, protected e private.


• Modificadores que não se referem a acesso: strictfp, final e abstract.

Na verdade, o Java possui 4 controles de acesso mas apenas 3 modificadores de


acesso.
• O 4º nível de controle de acesso, chama-se default, que é o que obtemos
quando não usamos nenhum dos três modificadores.

Class MinhaClasse();

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Acesso a Classes
Uma Classe A tem acesso (vê) classe B, se:
• Criar uma instância de B;
• Estender a classe B (tornar-se uma subclasse de B);
• Acessar métodos e variáveis dentro de B (depende do controle das
mesmas).

Tipos de acesso:

Acesso Default: quando uma classe não possui modificador ela possui acesso
default. Uma classe desse tipo só pode ser vista por classes do mesmo pacote.

Acesso Público: uma classe declarada como pública dá acesso a todas classes de
todos pacotes, acesso à mesma, para instanciá-la e estendê-la, lembrando que se a
classe estiver em um pacote diferente, deve-se importar o devido pacote.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Acesso a Classes
Outros modificadores de classe:
• strictfp, final e abstract;
• Podem ser combinados com os modificadores de acesso (nunca usar
abstract e final juntos);
• Strictfp é uma palavra-chave e que pode ser usada para modificar uma
classe ou método, mas nunca uma variável. Significa que qualquer código
de método de classe se conformará às regras do padrão IEEE 754 p/
pontos flutuantes.
Classes Finais: quando usada significa que a classe em questão não poderá ser
subclassificada (herdada) e gera erro de compilação.

Classes Abstratas: servem apenas para serem estendidas ( herdadas )


Ex: abstract class Car { ( o método termina com ; e não com {}).
public abstract void goFast();

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Interface
Uma classe interface é um contrato que diz para outras classes (subclasses), que
queiram herdá-la, quais métodos DEVEM ser implementados para isso.

Regras:
• Todos os métodos de interface são implicitamente public e abstract.
• Todas as variáveis definidas em uma interface devem ser public, static ou
final (só se pode declarar constantes).
• Os métodos de interface não podem ser static.
• Já que os métodos são abstract, não podem ser final, native, stricfp ou
synchronized.
• Uma interface pode estender uma ou mais interfaces diferentes.
• Uma interface não pode estender nada que não seja outra interface.
• Uma interface não pode implementar outra interface ou classe;
• Uma interface deve ser declarada com a palavra-chave interface.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Interface
• Tipos de interface podem ser usados poliformicamente.

Ex: public abstract interface Rollable{}; Interface válida

final void bounce (); Interface inválida


POR QUE?
Porque exemplo cai na seguinte regra: final e abstract não podem ser usados
juntos. O abstract está implícito!

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declarando constantes de interface


Regra de declaração de constantes: public static final;
• Qualquer classe que implemente a interface tem acesso direto as
constantes da mesma.

Observação: pelo fato das constantes serem definidas em uma interface, elas não
precisam ser declaradas como public, static ou final. Você não precisa declarar
explicitamente.

Ex: public int x = 1;


static int x = 1;
final int x = 1;
public static final int x = 1;

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


• Modificação de uma declaração de método ou uma variável.

Enquanto classes só pode usar 2 dos 4 níveis de controle (default ou public), os


membros de classe podem usar todos (public, protected, private e default).

• O s tipos de controle de acesso protected e default tem comportamentos


quase idênticos, exceto por uma diferença. Um membro default só pode
ser acessado se a classe que o estiver acessesando pertencer ao mesmo
pacote, enquanto que um membro protected pode ser acessado (através
de herança) por uma subclasse mesmo se a subclasse estiver em um
pacote diferente.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


class Zoo {
public String coolMethod() {
return "Wow baby";
}
}

class Moo extends Zoo{


public void useAZoo() {
Zoo z = new Zoo();
// Será que uma instância de Moo pode invocar coolMethod() em uma instância
de Zoo?
System.out.println("A Zoo says, " + z.coolMethod());
// Essa linha funciona porque Moo pode acessar o método público
}
}

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


Membros públicos: significa que todas as outras classes independentes do pacote
ao qual pertencem, podem acessar o objeto em questão.

Membros private: não podem ser acessados por código em nenhuma outra classe
que não aquela qual o membro foi declarado.

Membros protect e default: funcionam da mesma forma abordada referente a


classes, onde default pode ser acessado dentro do mesmo pacote e os membros
protect pode ser acessado de pacotes diferentes em caso de herança.

Obs.: Modificadores de acesso NÃO podem ser aplicados a variáveis locais!

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


Modificadores não-referente a acesso:

• Métodos Final: não pode ser sobrescrito. Mas lembre-se é válido estender uma
classe não marcada como final, mas não podemos sobrescrever seus métodos
final.

• Métodos abstract: o que você precisa prestar atenção é que métodos abstract
não possuem implementação em seus métodos, isso significa que eles devem ser
implementados, ou seja, eles nem se quer tem chaves, ao invés disso ele terminam
com ponto-e-vírgula. Em outras palavras, ela não tem um corpo de método.

• Métodos synchronized: esses métodos só podem ser acessados por uma thread
de cada vez. Iremos abordar esse tipo de método no assunto referente a Thread, o
que você precisa saber é que esses métodos podem ter qualquer um dos quatros
modificadores de acesso. Só é aplicado a métodos.
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


• Métodos nativos: o que você precisa saber sobre esse tipo de modificador é que
ele só pode ser aplicado a métodos e que o corpo do seu método deve ser ponto-
e-vírgula.

• Métodos strictfp: esse modificador pode ser usado tanto para métodos como em
classes, mas nunca deve ser usado em variáveis, você não precisa saber
exatamente como ele funciona, mas ele força os pontos flutuantes a aderirem o
padrão IEEE 754.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Membros de classe


Lista de argumentos variáveis (var-args):

Argumento: Aquilo que você especifica entre parênteses quando está invocando
um método.
Ex: doStuff(“a”, 2);
Parâmetro: Aquilo na assinatura de um método que indica o que o método deve
receber quando for invocado.
Ex: void doStuff(String s, int a) { }

Regras:
• Deve especificar o tipo do var-arg;
• Depois do tipo usa-se reticências (...), um espaço, e o nome do array que irá
armazenar os parâmetros;
• Podemos ter outros parâmetros não-var-args;
• Só pode haver um var-arg e deve ser o último na assinatura do método;
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de construtores
Regras:

• Não podem ter tipo de retorno;


• Podem ter modificadores de acesso e usar var args;
• Devem ter o mesmo nome da classe;
• Não podem ser static ( pois são associados à instanciamento);
• Não podem ser final nem abstract ( porque não podem ser substituídos).

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de variáveis
Variáveis primitivas: Char, boolean, byte, short, int, long, float e double;
• Variáveis de referência são usadas para referir um objeto, de um tipo
específico que não pode ser alterado.
• Intervalo de tipos primitivos. Ordem: byte, short, int, long, float e double.

Tipos de variáveis:
• Variáveis de instância: são definidas no corpo da classe, e são inicializadas quando a classe
é instanciada. Elas podem receber qualquer um dos três modificadores de acesso, portanto
podem possuir qualquer dos quatros níveis de acesso. Podem ser marcadas como final e
transient, mas não podem ser marcadas como abstract, synchronized, strictfp, native e
static.

• Variáveis locais: são aquelas declaradas dentro de um método, ou seja, o tempo de vida de
uma variável local é o tempo em que o método está em execução. Um detalhe importante
que você precisa saber é que variáveis locais precisam ser inicializadas com um valor antes
de ser usada.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de variáveis
• Variáveis final: impossibilitam a reutilização desta variável depois que ela tiver sido
inicializada com valor explícito. Para primitivos, isso significa que o valor não pode ser
alterado, tratando-se de variável de referência ela não pode ser reatribuída a um objeto
diferente. Os dados dentro do objeto podem ser alterados mas a referência não.

• Variáveis transient: significa que você estar informado a JVM para ignorar esta variável
quando você for serializar o objeto que a contém. Mais detalhes no capítulo 6 sobre
Serialização.

• Variáveis volatile: o que ela significa você não precisa saber para o exame, mas o que você
deve saber é que ela se aplica somente a variáveis de instância. Mais detalhes no capítulo 9
sobre Threads.

• Variáveis e métodos static: são usados para criar variáveis e métodos que irão existir
independente da instância da classe. Você pode marcar como static: métodos, variáveis,
bloco de inicialização e classes aninhadas. Você não pode marcar como static: construtores,
classes, métodos de classes internas e variáveis locais e de instância.
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065
Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declaração de Arrays
Regras de declaração de Arrays:

• int [] key; recomendado


• int key []; válido, mas menos legível
• Thread[] threads; recomendado
• Thread threads []; válido, mas menos legível
• String[][][] occupantName; recomendado
• String[] ManagerName []; válido mas não recomendado

Obs.: Não é válido incluir o tamanho do array na sua declaração.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declarando Enums
Um ENUM especifica uma lista de valores constante que podem ser atribuídos a
um determinado tipo. É usada para restringir as possibilidades de atribuição. Com
seu uso podemos garantir que o compilador impedirá atribuições absurdas.

Ex: enum CoffeeSize { BIG, HUGE };


CoffeeSize cs = CoffeeSize.BIG;

• Não podem ser privados e nem protegidos;


• ENUM pode ser declarado fora ou dentro de uma classe, mas NÃO em um
método;
• Eles podem conter construtores, métodos, variáveis de classes constantes.
Seus construtores podem conter argumentos e podem ser
sobrecarregados.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Declarando Enums
Construtores ENUM:
• Jamais será possível invocar diretamente um construtor ENUM
• É possível definir mais de um argumento para o construtor, bem como
sobrecarregar o construtor ENUM.
• Um ENUM tem um método estático chamado values(). Esse método
retorna um array dos valores do ENUM em ordem de declaração.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
1- Qual das seguintes afirmativas está correta (Marque todas as corretas)?

A. “X extends Y” é correto se, e somente se, X for uma classe e Y uma interface.
B. “X extends Y” é correto se, e somente se, X for uma interface e Y for uma
classe.
C. “X extends Y” é correto se X e Y forem ambos classes ou ambos interfaces.
D. “X extends Y” é correto para todas as combinações de X e Y sendo classes
e/ou interfaces.

Resposta: C

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
2- Dado:

class Voop{
public static void main (String [] args){
façaAlgo(1);
façaAlgo(1,2);
}
// insira um código aqui
}

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
Qual destas opções, inseridas indepedentemente na linha 6, irá compilar?
(Marque todas as corretas)

A. static void facaAlgo (int... façaArgs){ }


B. static void facaAlgo (int [] façaArgs){ }
C. static void facaAlgo (int façaArgs){ }
D. static void facaAlgo (int... façaArgs, int y){ }
E. static void facaAlgo (int x, int... façaArgs) { }

Resposta: A e E (sintaxes válidas pra var args)

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
3- Quais nomes de métodos obedecem o padrão JavaBeans? (Marque todas as
corretas)

A. addSize
B. getCusto
C. deleteRep
D. isColorado
E. putDimensions

Resposta: B e D.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
4- Dado o código:

public class Eletronico implements Dispositivo{


public void facaAlgo(){} }

abstract class Telefone extends Dispositivo{


public void facaAlgo (int x){} }

abstract class Celular extends Eletronico implements Dispositivo{


public void facaAlgo (){} }

interface Dispositivo{
public void facaAlgo (); }

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
Qual é o resultado? (Marque todas as corretas)

A. A compilação é bem-sucedida.
B. Ocorre uma falha na compilação com um erro na linha 1
C. Ocorre uma falha na compilação com um erro na linha 3
D. Ocorre uma falha na compilação com um erro na linha 5
E. Ocorre uma falha na compilação com um erro na linha 7
F. Ocorre uma falha na compilação com um erro na linha 9

Resposta: A

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
5- Dado o código:

public class TesteDias{


public enum Dias {Seg, Ter, Qua};
public static void main (String [] args) { ;
for (Dias d: Dias.values())
;
Dias [] d2 = Dias.values ();
System.out.println(d2[2]);
}

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065


Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Exercícios rápidos
Qual é o resultado? (Marque todas as corretas)

A. Ter
B. Qua
C. Não é possível prever o resultado (a saída é inalcançável)
D. Ocorre uma falha na compilação com um erro na linha 3
E. Ocorre uma falha na compilação com um erro na linha 5
F. Ocorre uma falha na compilação com um erro na linha 7
G. Ocorre uma falha na compilação com um erro na linha 9

Resposta: B. Cada ENUM tem um método static values() que retorna um array
dos valores do ENUM na ordem em que forem declarados no ENUM.

Grupo de Estudos para a Certificação Java Programmer – Exame CX-301-065

Das könnte Ihnen auch gefallen