SCJP_01.txt

Card Set Information

Author:
eniossilva
ID:
105885
Filename:
SCJP_01.txt
Updated:
2011-10-02 21:55:40
Tags:
SCJP OCJP Certificação Java
Folders:

Description:
Resumo do capítulo 1 de certificação Java 6 (Livro da Kathy Sierra)
Show Answers:

Home > Flashcards > Print Preview

The flashcards below were created by user eniossilva on FreezingBlue Flashcards. What would you like to do?


  1. Identificadore (1)
    Os identificadores podem começar com uma letra, um underscore, ou um caracter monetário.
  2. Identificadore (2)
    Depois do primeiro caracter, os identificadores podem incluir também dígitos.
  3. Identificadore (3)
    Os identificadores podem ter qualquer extensão.
  4. Identificadore (4)
    Os métodos JavaBeans devem ser nomeados usando-se camelCase e, dependendo do propósito do método devem começar com set, get, is, add ou remove.
  5. Regras de Declaração (1)
    Um arquivo de código-fonte só pode ter uma classe pública.
  6. Regras de Declaração (2)
    Se o arquivo de código-fonte tiver uma classe pública, seu nome terá que coincidir com o dessa classe.
  7. Regras de Declaração (3)
    O arquivo só pode ter uma instrução package, porém, várias de import.
  8. Regras de Declaração (4)
    A instrução de package (se houver) deve ficar na primeira linha (fora os comentários) do arquivo de código-fonte.
  9. Regras de Declaração (5)
    A instrução import (se houver) deve vir depois de package e antes da declaração class.
  10. Regras de Declaração (6)
    Se não houver instrução package, as instruções import terão que ser as primeirs (fora os comentários) do arquivo de código-fonte.
  11. Regras de Declaração (7)
    As instruções package e import são aplicadas a todas as classes do arquivo.
  12. Regras de Declaração (8)
    O arquivo pode ter mais de uma classe não publica.
  13. Regras de Declaração (9)
    Os arquivos que não tiverem classes public não apresentarão restrições de nomeação.
  14. Modificadores de acesso a Classe (1)
    Há três modificadores de acesso: public, protected e private.
  15. Modificadores de acesso a Classe (2)
    Há quatro níveis de acesso: public, protected default e private.
  16. Modificadores de acesso a Classe (3)
    As classe só podem ter acesso public ou default.
  17. Modificadores de acesso a Classe (4)
    Uma classe com acesso default pode ser visualizada somente por outra classe no mesmo pacote.
  18. Modificadores de acesso a Classe (5)
    Uma classe com acesso public pode ser visualizada por todas as classes a partir de todos os pacotes.
  19. Modificadores de acesso a Classe (6)
    A visibilidade das classes gira em torno de se o código de uma classe pode: (1) criar uma instância de outra classe, (2) Estender (ou criar subclasses) outra classe e (3) Acessar métodos e variáveis de outra classe.
  20. Modificadores de Classse (1)
    As classes também podem ser alteradas com final, abstract ou strictfp.
  21. Modificadores de Classse (2)
    Uma classe não pode ser final e abstract.
  22. Modificadores de Classse (3)
    Uma classe final não pode ter subclasses.
  23. Modificadores de Classse (4)
    Uma classe abstract não pode ser instanciada.
  24. Modificadores de Classse (5)
    Uma classe com somente um método abstract significa que a classe inteira deve ser abstract.
  25. Modificadores de Classse (6)
    Uma classe abstract pode ter métodos abstract ou não.
  26. Modificadores de Classse (7)
    A primeira classe concreta a estender uma classe abstract terá que implentats.
  27. Implentação de Interfaces (1)
    As interfaces são contratos que definem o que a classe pode fazer, mas não dizem nada sobre a maneira pela qual ela deverá fazê-lo.
  28. Implentação de Interfaces (2)
    As interfaces podem ser implentadas por qualquer classe, de qualquer árvore de herança.
  29. Implentação de Interfaces (3)
    A interface é como uma classe 100% abstract, e será implicitamente abstract caso você digite ou não o modificador abstract na declaração.
  30. Implentação de Interfaces (4)
    Uma interface só pode criar métodos abstract, nenhum método concreto é permitido.
  31. Implentação de Interfaces (5)
    Os métodos das interfaces são, por padrão, public e abstract - a declaração explícita desses modificadores é opcional.
  32. Implentação de Interfaces (6)
    As interfaces podem ter constantes, que são sempre implicitamente public, static e final.
  33. Implentação de Interfaces (7)
    As declarações da constante de interface com public, static e final são opcionais em qualquer combinação.
  34. Implentação de Interfaces (8)
    Uma classe de implentação não-abstract fornecerá implentações concretas dos métodos da interface.
  35. Implentação de Interfaces (9)
    Uma classe de implentação não-abstract deve seguir todas as regras de sobrecarga válidas para os métodos que implementa.
  36. Implentação de Interfaces (10)
    Uma classe de implentação não-abstract não deve declarar nenhuma exceção nova do método implentado.
  37. Implentação de Interfaces (11)
    Uma classe de implentação não-abstract não deve declara nenhuma exceção que seja mais abrangente do que as declaradas no método da interface.
  38. Implentação de Interfaces (12)
    Uma classe de implentação não-abstract pode declarar exceções de tempo de execução em qualquer implentação de método da interface, independente do que constar na declaração da interface.
  39. Implentação de Interfaces (13)
    Uma classe de implentação não-abstract deve manter a assinatura (são permitidos retornos covariantes) e o tipo de retorno exatos dos métodos que implementa (mas não precisa declarar as exceções da interface).
  40. Implentação de Interfaces (14)
    Uma classe que estiver implementando uma interface pode ela própria ser abstract.
  41. Implentação de Interfaces (15)
    Uma classe de implentação abstract não precisa implementar os métodos da interface (mas a primeira subclasse concreta precisa).
  42. Implentação de Interfaces (16)
    A classe só pode estender uma classe (sem herança múltipla), porém, pode implentar várias interfaces.
  43. Implentação de Interfaces (17)
    As interfaces pode estender uma ou mais interfaces.
  44. Implentação de Interfaces (18)
    As interfaces não podem estender uma classe ou implementar uma classe ou interface.
  45. Implentação de Interfaces (19)
    Quando fizer o exame, verifique se as declarações de interface e classe são válidas antes de verificar outras lógicas do código.
  46. Modificadores de Acesso a Membros (1)
    Os métodos e as variáveis de instância (não locais) são conhecidos como "membros".
  47. Modificadores de Acesso a Membros (2)
    Os membros podem usar todos os quatros níveis de acesso: public, protected, default e private.
  48. Modificadores de Acesso a Membros (3)
    O acesso aos membros se dá de duas formas: (1) o código de uma classe pode acessar um membro de outra classe e (2) uma subclasse pode acessar um membro de sua superclasse.
  49. Modificadores de Acesso a Membros (4)
    Se uma classe não puder ser acessada, seus membros também não poderão.
  50. Modificadores de Acesso a Membros (5)
    A visibilidade da classe deve ser determinada antes da dos membros.
  51. Modificadores de Acesso a Membros (6)
    Os membros public podem ser acessados por todas as outras classes, mesmo de pacotes diferentes.
  52. Modificadores de Acesso a Membros (7)
    Se um membro da superclasse for public, a subclasse o herdará - independente do pacote.
  53. Modificadores de Acesso a Membros (8)
    Os membros acessados sem o operador ponto (.) têm que pertencer a mesma classe.
  54. Modificadores de Acesso a Membros (9)
    this sempre referenciará o objeto que estiver sendo executado no momento.
  55. Modificadores de Acesso a Membros (10)
    this.aMethod() é o mesmo que simplesmente chamar aMethod().
  56. Modificadores de Acesso a Membros (11)
    Os membros private só podem ser acessados por um código da mesma classe.
  57. Modificadores de Acesso a Membros (12)
    Os membros private não ficam visíveis para as subclasses, portanto, não podem ser herdados.
  58. Modificadores de Acesso a Membros (13)
    Os membros default e protected só diferem quando subclasses estão envolvidas.
  59. Modificadores de Acesso a Membros (14)
    Os membros default só podem ser acessados por outras classes do mesmo pacote.
  60. Modificadores de Acesso a Membros (15)
    Os membros protected podem ser acessados por outras classes do mesmo pacote, além de por subclasses, independente do pacote.
  61. Modificadores de Acesso a Membros (16)
    protected = pacote + filhos (subclasses)
  62. Modificadores de Acesso a Membros (17)
    Por subclasses externas ao pacote, o membro protected só pode ser acessado através da herança: uma subclasse externa ao pacote não pode acessar um membro protected usando a referência a uma instância da superclasse
  63. Modificadores de Acesso a Membros (18)
    Um membro protected herdado por uma subclasse de outro pacote não pode ser acessado por nenhuma outra classe do pacote da subclasse, exceto pelas próprias subclasses dessa.
  64. Variáveis Locais (1)
    As declarações de variáveis locais (de método, automáticas, de pilha) não podem ter modificadores de acesso.
  65. Variáveis Locais (2)
    final é o único modificador disponível para variáveis locais.
  66. Variáveis Locais (3)
    As variáveis locais não recebem valores padrão, portanto, devem ser inicializadas antes do uso.
  67. Outros Modificadores (1)
    Os métodos final não podem ser substituídos em uma subclasse.
  68. Outros Modificadores (2)
    Os métodos abstract são declarados, com uma assinatura, um tipo de retorno e uma cláusula throws opcional, mas não são implementados.
  69. Outros Modificadores (3)
    Os métodos abstract terminam com um ponto-e-vírgula, e não chaves.
  70. Outros Modificadores (4)
    Há três maneiras de identificar um métodos não abstrato: (1) não é marcado como abstract, (2) possui chaves e (3) possui código entre as chaves.
  71. Outros Modificadores (5)
    A primeira classe não-abstrata (concreta) a estender uma classe abstrata deve implementar todos os métodos abstratos dessa.
  72. Outros Modificadores (6)
    Os modificadores synchronized só é aplicado a métodos e a blocos de código.
  73. Outros Modificadores (7)
    Os métodos synchronized podem ter qualquer controle de acesso e também serem marcados como final.
  74. Outros Modificadores (8)
    Os métodos abstract devem ser implementados por uma subclasse, portanto, têm de ser herdados. Por essa razão: (1) os métodos abstract não podem ser private e (2) os métodos abstract não podem ser final.
  75. Outros Modificadores (9)
    O modificador native só é aplicado a métodos.
  76. Outros Modificadores (10)
    O modificador strictfp só é aplicado a métodos.
  77. Métodos com Arguementos Variáveis (var-args) (1)
    A partir de Java 5 os métodos podem declarar um parâmetro que aceita de zero a muitos argumentos, é o chamado var-arg.
  78. Métodos com Arguementos Variáveis (var-args) (2)
    • Um parâmetro var-arg é declarado com a sintaxe tipo... nome; por exemplo:
    • doStuff(int... x){}
  79. Métodos com Arguementos Variáveis (var-args) (3)
    Um método var-arg só pode ter um parâmetro var-arg.
  80. Métodos com Arguementos Variáveis (var-args) (4)
    EM métodos com parâmetros normais e uma var-arg, o var-arg deve vir por último.
  81. Declaraçõe de Variáveis (1)
    As variáveis de instância podem: (1) ter qualquer tipo de controle de acesso e (2) serem marcadas como final ou transient.
  82. Declaraçõe de Variáveis (2)
    As variáveis de instância não podem ser declaradas com abstract, synchronized, native ou strictfp.
  83. Declaraçõe de Variáveis (3)
    É valido declarar uma variável local com o mesmo nome de uma variável de instância; isso é chamado de "sombreamento" (shadowing)
  84. Declaraçõe de Variáveis (4)
    As variáveis final apresentam as seguintes propriedades: (1) não podem ser reinicializadas, uma vez que tiverem um valor atribuído, (2) as variáveis de referência final não podem referenciar um objeto diferente se já tiverem um objeto atribuído a elas e (3) as variáveis de referência final devem ser inicializadas antes que a execução do construtor seja concluída.
  85. Declaraçõe de Variáveis (5)
    Não existem objetos final. Uma referência a objeto marcada como final não significa que o objeto propriamente dito seja inalterável.
  86. Declaraçõe de Variáveis (6)
    O modificador transient só pode ser aplicado a variáveis de instância.
  87. Declaraçõe de Variáveis (7)
    O modificador volatile só pode ser aplicado a variáveis de instância.
  88. Declarações de Arrays (1)
    Arrays podem conter primitivas ou objetos, mas o array em si é sempre um objeto.
  89. Declarações de Arrays (2)
    Ao declarar um array, os colchetes podem estar à esquerda ou à direita do nome da variável.
  90. Declarações de Arrays (3)
    Nunca é valido incluir o tamanho do array em sua declaração.
  91. Declarações de Arrays (4)
    Um array de objetos pode conter qualquer tipo que passe no teste de IS-A (ou instanceof) para o tipo declarado no array
  92. Variáveis e métodos estáticos (1)
    NJão estão ligados a qualquer instância específica de uma classe.
  93. Variáveis e métodos estáticos (2)
    Não é preciso qualquer instância para usar membros static de uma classe.
  94. Variáveis e métodos estáticos (3)
    Existe apenas uma cópia de uma variável e/ou classe estática, que é compartilhada por todas as instâncias.
  95. Variáveis e métodos estáticos (4)
    Métodos static não tem acesso direto a métodos não-estático.
  96. Enums (1)
    Um enum especifica uma lista de valores constantes que podem ser atribuídos a um determinado tipo.
  97. Enums (2)
    Um enum não é uma String nem um int; o tipo constante de um enum é o tipo do próprio enum.
  98. Enums (3)
    Um enum pode ser declarado fora ou dentro de uma classe, mas não em um método.
  99. Enums (4)
    Um enum declarado fora de uma classe não pode ser marcado com static, final, abstract, protected ou private.
  100. Enums (5)
    Os enums podem conter construtores, métodos, variáveis e corpos de classes constantes.
  101. Enums (6)
    As constantes enum podem enviar arguementos para o construtor enum.
  102. Enums (7)
    Os construtores enums podem conter argumentos e podem ser sobrecarregados.
  103. Enums (8)
    Os construtores enum nunca podem ser chamados diretamente no código. Eles são sempre chamados automaticametne quanto um enum é inicializado.
  104. Enums (9)
    O ponto-e-vírgula ao final da declaração enum é opcional.
  105. Enums (10)
    MyEnum.values() retorna um array dos valores de MyEnum.

What would you like to do?

Home > Flashcards > Print Preview