Buscar

Resumo De alguns capitulos do livro do Deitel 8ªedição

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Resumo Capitulo I (Resume Chapter I)
Main: É um método especial que é chamado automaticamente pelo JAVA VIRTUAL MACHINE (JVM) quando um arquivo é executado.
Porque o método main é declarado static?
A JVM tenta invocar o método main da classe que você especifica, quando nenhum objeto da classe foi criado, declara main como static permite que o JVM invoque main sem criar uma instância da classe. 
Void: É um tipo de retorno, especifica o tipo de dado que o método retorna depois que concluir sua tarefa, o método void indica que esse método realizara uma tarefa mas não retornara nenhuma informação para seu método chamador ao completar sua tarefa.
Static: É especial porque pode ser chamado sem primeiro criar um objeto da classe em que o método é declarado. É comum uma classe conter grupo de métodos static convenientes para realizar tarefas comuns, para declarar um método como static, coloque a palavra-chave static antes do tipo de retorno na declaração do método.
Math: Fornece uma coleção de métodos static que permitem realizar cálculos matemáticos comuns. Os argumentos dos métodos podem ser constantes, variáveis ou expressões.A classe Math faz parte do pacote java.lang, que é implicitamente importado pelo compilador, assim não é necessário importar a classe Math para utilizar seus métodos.
Objeto: Um objeto é a instancia de uma classe quando eu instancio uma classe eu crio um objeto. Coisa material ou abstrata que pode ser percebida pelos sentidos e descrita por meio das suas características, comportamento e estado atual.
Atributo: Propriedades (atributos) representa as características do objeto, ou seja, nos dá mais detalhes sobre o objeto propriamente dito. Em nosso exemplo (um computador), teríamos por exemplo a propriedade Cor, que representa a cor do gabinete.
Método: Ações (métodos) corresponde à capacidade de seu objeto executar ações que podem ou não modificar suas características. Em nosso exemplo (um computador), teríamos por exemplo a ação Ligar, que executaria os passos necessários para o acionamento do computador.
Metodos ajudam a modularizar um programa separando suas tarefas em unidades autocontidas.
Instruções:
Escrito somente uma vez 
Ocultado de outro método
Pode reutilizar a partir de várias localizações em um programa.
Classe: Define os atributos e métodos comuns que serão compartilhados por um objeto Classe, vem de classificação é a idealização de uma caneta, em outras palavras uma classe é a "forma" ou "molde" de onde são produzidos os objetos.
Vantagens das classes:
As classes simplificam a programação, porque o cliente pode utilizar somente os métodos public expostos pela classe.
Declarando uma classe: Cada declaração de classe que inicia com a palavra-chave public deve ser armazenada em um arquivo que tenha o mesmo nome da classe e terminar com a extensão de nome do arquivo .java.
Por que java é conhecido como linguagem extensível?
Você pode declarar uma variável do tipo de classe, e cada nova classe que você cria torna-se um novo tipo que pode ser utilizado para declarar variáveis e criar objetos, você pode declarar novos tipos de classe conforme necessário.
Por convenção, os nomes de métodos iniciam com a primeira letra minúscula e as palavras subsequentes do nome iniciam com uma letra maiúscula 
Parentes vazios após um nome de método indicam que o método não requer nenhum parâmetro para realizar sua tarefa 
Em conjunto, tudo na primeira linha do método é geralmente chamado de cabeçalho do método.
U.M.L (LINGUAGEM DE MODELAGEM UNIFICADA)
A UML disponibiliza, através de conceitos, objetos, símbolos e diagramas, uma forma simples, mas objetiva e funcional, de documentação e entendimento de um sistema. Você pode utilizar os diagramas e arquivos que compõe um modelo UML para o desenvolvimento, apresentação, treinamento e manutenção durante todo o ciclo de vida da sua aplicação.
Modificadores de acesso: Modificadores de acesso são as palavras-chave usadas para especificar a acessibilidade da declaração de um membro ou um tipo.
Lembrando que os modificadores de acesso são aplicáveis a atributos, classes, métodos, Structs, interfaces e enumeradores.
 (+)  Public. – Com este modificador, o acesso é livre em qualquer lugar do programa.
(-) Private – Com este modificador, o acesso é permitido somente dentro da classe onde ele foi declarado. Por padrão, é a visibilidade definida para métodos e atributos em uma classe.
(#)    Protected – Com este modificador, apenas a classe que contém o modificador e os tipos derivados dessa classe tem o acesso.
Protected Internal – Com este modificador, o acesso é limitado ao assembly atual e aos tipos derivados da classe que contém o modificador.
Construtores: é utilizado para inicializar um objeto de uma classe quando o objeto for criado.
Por padrão o compilador fornece um construtor sem parâmetros em qualquer classe que não inclui explicitamente um construtor.
Construtores não podem retornar valores, portanto não podem especificar um tipo de retorno.
Tipos Primitivos: 
Boolean 
Byte 
Char
Short
Int
Long
Float
Double
Todos os tipos que não são primitivos são tipos por referência, e podem ser usados para localização de um objeto na memória do computador.
 This:
Qualquer objeto pode acessar uma referência para si mesmo com palavra-chave this. 
Quando um método não static é chamado para um objeto particular, o corpo do método utiliza implicitamente a palavra-chave this para referenciar as variáveis de instância do objeto e outros métodos. 
Isso permite que o código da classe saiba que o objeto deve ser manipulado. 
Também é possível usar a palavra-chave this explicitamente no corpo de um método não static.
É possível usar a referência this implícita e explicitamente. 
Quando é obrigatório o uso de This?
Se os nomes de parâmetro para o construtor forem idênticos aos nomes das variáveis de instância da classe 
Utilizando-o, irá “sombrear” (ocultar) a instância correspondente. 
Este é um caso em que uso explícito da referência this é exigido. 
Se um método contiver uma variável local com o mesmo nome de um campo, esse método usa a variável local em vez do campo. 
Nesse caso, a variável local “sombreia” o campo no escopo do método. 
O método pode utilizar a referência this para referenciar o campo sombreado explicitamente. 

Quando você compila um arquivo .java contendo mais de uma classe, o compilador produz um arquivo separado da classe com a extensão. class para cada classe compilada.
Quando um arquivo código-fonte (.java) contém várias declarações de classe, o compilador coloca ambos os arquivos de classe dessas classes no mesmo diretório.
Um arquivo de código-fonte pode conter somente uma classe public — caso contrário, um erro de compilação ocorre.
Classes não public só podem ser utilizadas por outras classes no mesmo pacote.
O java economiza espaço de armazenamento mantendo somente uma copia de cada método por classe, esse método é invocado por cada objeto dessa classe. Cada objeto, por outro lado tem sua própria copia das variáveis de instancia da classe (isto é campos não static). Cada método da classe utiliza implicitamente THIS para determinar o objeto da classe a manipular.
Metodos Acessores (Get e Set): São os métodos responsáveis por prover acesso os atributos da classe os métodos get e set também são conhecidos como métodos de consulta. Ao implementar um método de uma classe, utilize os métodos set and get da classe para acessar os dados private da classe.
SET (Atribuir valores)
Nomeamos um método assessor com set toda a vez que este método for modificar algum campo ou atributo de uma classe, ou seja, se não criarmos um método assessor set para algum atributo, isso que dizer que ele não será modificado.
GET (Obter valores)
Nomeamos um método acessor com get toda vez que este método for verificar algum campo ou atributo de uma classe.Como este método irá verificar um valor, ele sempreterá um retorno como String, int, float, etc. Mas não terá nenhum argumento
Construtores Sobrecarregados:
Permitem que objeto e uma classe sejam inicializados de diferentes maneiras, para sobrecarregar construtores, simplesmente forneça múltiplas declarações de construtor com assinaturas diferentes.
Cada classe deve ter pelo menos um construtor. Se não for fornecido nenhum construtor na declaração de uma classe o compilador cria um construtor padrão que não aceita argumentos ao ser invocado.
O construtor padrão inicializa as variáveis de instancia com os valores iniciais especificados nas suas declarações ou com seus valores padrão.
Se a classe declarar construtores, o compilador não criara um construtor padrão.
Um programa pode declarar o chamado construtor sem argumentos que é invocado sem argumentos. Esse construtor simplesmente inicializa o objeto como especificado no corpo do construtor.
É um erro de sintaxe se THIS for utilizado no corpo de um construtor para chamar um outro construtor da mesma classe se essa chamada não for a primeira instrução do construtor. Também é um erro de sintaxe se um método tenta invocar um construtor diretamente via THIS.
Composição:
Uma classe pode ter referências a objetos de outras classes como membros, isso é chamado composição e, as vezes é referido como um relacionamento tem um.
Enumeração:
O tipo enum básico define um conjunto de constantes representadas como identificadores únicos. Como as classes, todos os tipos enum são tipos por referência um tipo enum é declarado com uma declaração enum, que é uma lista separada por virgulas de constante enum. A declaração pode incluir opcionalmente outros componentes das classes tradicionais, como construtores, campos e métodos.
Constantes ENUM possuem as seguintes restrições.
Cada declaração enum declara uma classe enum com as seguintes restrições: 
Constantes enum são implicitamente final, porque declaram constantes que não devem ser modificadas. 
Constantes enum são implicitamente static. 
Qualquer tentativa de criar um objeto de um tipo enum com um operador new resulta em um erro de compilação. 
Constantes enum podem ser utilizadas em qualquer lugar em que constantes podem ser utilizadas, como nos rótulos case das instruções switch e para controlar instruções for aprimorada. 
Declarações enum contém duas partes — as constantes enum e os outros membros do tipo enum. 
Um construtor enum pode especificar qualquer número de parâmetros e pode ser sobrecarregado.
Coleta de lixo e o método finalize:
Toda classe java tem os métodos da classe Object (pacote java.lang), um dos quais é o método finalize. Raramente utilizado porque pode causar problemas de desempenho e há uma incerteza sobre se ele será chamado.
A JVM realiza a coleta de lixo automática para reivindicar a memória ocupada por objetos que não são mais utilizados. 
Quando não houver mais referências a um objeto, o objeto está apto a ser coletado. Em geral, isso ocorre quando a JVM executa seu coletor de lixo. 
O método finalize é chamado pelo coletor de lixo para realizar limpeza de terminação sobre um objeto um pouco antes de o coletor de lixo reivindicar a memória do objeto. 
O método finalize não aceita parâmetros e tem o tipo de retorno void. 
Um problema com relação ao método finalize é que não há garantias de o coletor de lixo executar em uma data/hora especificada. 
O coletor de lixo nunca pode executar antes de um programa terminar. 
Portanto, não fica claro se, ou quando, o método finalize será chamado. 
Por essa razão, a maioria dos programadores deve evitar o método finalize.
Membros da classe Static:
Em certos casos, apenas uma cópia de uma variável particular deve ser compartilhada por todos os objetos de uma classe. 
Um field static — chamado de variável de classe — é utilizado nesses casos. 
Uma variável static representa informações de escopo de classe — todos os objetos da classe compartilham os mesmos dados. A declaração de uma variável static inicia com a palavra-chave static
Um método static não pode acessar membros de classe não static, porque um método static pode ser chamado mesmo quando nenhum objeto da classe foi instanciado. 
Pela mesma razão, a referência this não pode ser utilizada em um método static. 
A referência this deve referenciar um objeto específico da classe, e quando um método static for chamado, poderia não haver nenhum objeto de sua classe na memória. 
Se uma variável static não for inicializada, o compilador atribuirá um valor padrão a essa variável — nesse caso 0, o valor padrão para o tipo int. 
String:
Objetos String em Java são imutáveis — eles não podem ser modificados depois de criados. Portanto, é seguro ter muitas referências a um objeto String. 
Esse normalmente não é o caso para objetos da maioria das outras classes em Java. 
Se objetos String são imutáveis, você talvez se pergunte por que somos capazes de utilizar operadores + e += para concatenar objetos String. 
Operações de concatenação de String na verdade resultam na criação de um novo objeto String contendo o valor concatenado — os objetos String originais não são modificados. 
Importação STATIC:
Uma declaração de importação static permite que você importe membros static de uma classe ou interface para que você possa acessa-los via os nomes não qualificados dos membros na sua classe, o nome de classe e um ponto(.) não devem utilizar um membro static importado.
Duas formas de importação de Static:
Uma que importa um membro static especifico ( o que é conhecido como importação Static simples).
Uma que importa todos os membros static de uma classe ( o que é conhecido como importação Static sob demanda).
 
Declaração de importação STATIC importam somente membros STATIC de uma classe.
Instruções import normais devem ser utilizadas para especificar as classes utilizadas em um programa.
Um erro de compilação ocorre se um programa tentar importar métodos static que tem a mesma assinatura ou campos static que tem o mesmo nome proveniente de duas ou mais classes.
Variáveis de Instancia FINAL:
A palavra-chave FINAL para especificar o fato de que uma variável não é modificável ( isto é, é uma constante) e que qualquer tentativa de modifica-la é um erro:
Exemplo:
Private final int INCREMENT;
Variáveis FINAIS podem ser inicializadas quando são declaradas pelos construtores da classe, para que cada objeto da classe tenha um valor diferente. Se a classe fornecer múltiplos construtores, cada um deles deve inicializar a variável FINAL.
Uma variável final não pode ser modificada por atribuição depois que ela for inicializada.
Colocar uma declaração Package no início de um arquivo
fonte Java indica que a classe declarada no arquivo é parte do pacote especificado. 
Somente declarações package, declarações importe comentários podem 
aparecer fora das chaves de uma declaração de classe. 
Um arquivo de código fonte Java deve ter a seguinte ordem:
uma declaração package (se houver alguma),declarações import(se houver algum) e, então,declarações de classe.
Somente uma das declarações de classe em um arquivo particular pode ser 
public
Outras classes no arquivo são colocadas no pacote e podem ser utilizadas somente 
pelas outras classes no pacote. Classes não public estão em um pacote para suportar as classes reutilizáveis nopacote. 
Acesso de Pacote:
Se nenhum modificador de acesso for especificado para um método ou variável quando esse método ou variável é declarado em uma classe, o método ou variável é considerado como tendo acesso de pacote(default). Entretanto, se um programa utilizar múltipla classes no mesmo pacote (isto é, um grupo de classes relacionadas), essas classes poderão acessar diretamente os membros de acesso de pacote de outras classes por meio de referência a objetos das classes apropriadas, ou no caso de membros static por meio do nome da classe.Declarando métodos com múltiplos parâmetros:
Múltiplos parâmetros são especificados como uma lista separada por virgulas, deve haver um argumento na chamada de método para cada parâmetro (as vezes chamado de parâmetro formal) na declaração de método.
Cada argumento deve ser consistente com o tipo do parâmetro correspondente.
Concatenação de String:
Todos os objetos e valores primitivos em java tem uma representação String.
Quando um dos operandos o operador + for uma String, o outro é convertido em uma String e então os dois são conectados.
Todo o objeto tem um método toString que retorna uma representação String do objeto.
Declaração e utilização de métodos:
Tres maneiras de chamar um método sozinho para chamar outro método da mesma classe.
Utilizando uma variável que contém uma referência a um objeto, seguida por um ponto(.) e o nome do método para chamar um método do objeto referenciado.
Utilizando o nome da classe e um ponto(.) para chamar um método static de uma classe.
Um método static pode chamar qualquer método da mesma classe diretamente e pode manipular qualquer um dos campos da classe diretamente.
Um método static pode chamar somente outros métodos STATIC na mesma classe diretamente.
Para acessar os membros não STATIC da classe, um método static deve utilizar uma referencia a um objeto da classe.
	
Tres maneiras de retornar o controle a instrução que chama um método:
Quando o fluxo de programa alcança a chave direta que termina o método.
Quando a seguinte instrução executa return.
Quando o método devolve um resultado com uma instrução como return expressão.
Pilha de chamadas de métodos e registros de Ativação:
Estruturas de dados “ultimo a entrar, primeiro a sair” (Last-In, First-Out) LIFO
O último item inserido na pilha é o primeiro item removido da pilha.
Pacotes de JAVA API
O java contem muitas classes predefinidas que são agrupadas em categorias de classes relacionadas chamadas pacotes.
Uma grande vantagem do JAVA são os milhares de classes da JAVA API
	Java.applet
	Contém uma classe e várias interfaces exigidas para criar applets.
	Java.awt
	Contém as classes de interfaces exigidas para manipular GUIS
	Java.awt.event
	Contém classes e interfaces que permitem o tratamento de eventos.
	Java.awt.geom
	Contém classes e interfaces para trabalhar com as avançadas capacidades gráficas.
	Java.io
	Contém classes interfaces que permitem aos programas gerar entradas e saídas de dados.
	Java.lang
	Contém classes e interfaces que são exigidas por muitos programas java.
	Java.net
	Contém classes e interfaces que permitem aos programas comunicar-se via redes de computadores.
	Java.sql
	Contém classes e interfaces para trabalhar com banco de dados.
	Java.text
	Contém classes e interfaces que permitem aos programas manipular números, datas, caracteres e strings.
	Java.util
	Contém classes utilitárias e interfaces que permitem acoes como manipulação de data e hora.
	Java.util.concurrent
	Contém classes utilitárias e interfaces para implementar programas que podem realizar múltiplas tarefas.
	Javax.media
	Contém classes e interfaces para trabalhar com capacidades multimídia do java.
	Javax.swing
	Contém classes e interfaces para componentes GUI Swing do java que fornecem suporte para GUIs.
	Javax.swing.event
	Contém classes e interfaces que permitem o tratamento de eventos para componentes GUI.
	Javax.xml.ws
	Contém classes e interfaces para trabalhar com serviços da Web.java

Outros materiais