Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


JAVA-LIVRO SOBRE PROGRAMAÇÃO EM JAVA, Manuais, Projetos, Pesquisas de Física

JAVA-LIVRO SOBRE PROGRAMAÇÃO EM JAVA

Tipologia: Manuais, Projetos, Pesquisas

2019

Compartilhado em 31/08/2019

carlos-gardiner-de-oliveira
carlos-gardiner-de-oliveira 🇧🇷

5

(1)

2 documentos

1 / 40

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Pacotes e
Pacotes e
Encapsulamento
Encapsulamento
Java 2 Standard Edition
Helder da Rocha
www.argonavis.com.br
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Pré-visualização parcial do texto

Baixe JAVA-LIVRO SOBRE PROGRAMAÇÃO EM JAVA e outras Manuais, Projetos, Pesquisas em PDF para Física, somente na Docsity!

Pacotes e^ Pacotes e

EncapsulamentoEncapsulamento

Java 2 Standard Edition Helder da Rochawww.argonavis.com.br

Assuntos abordados neste módulo

ƒ^ Este módulo explora pacotes em Java, iniciandopelos pacotes da própria API Java e terminando pormostrar como construir pacotes e guardá-los em umarquivo JAR ƒ^ Assuntos^ ƒ^ API do Java 2 - visão geral dos principais pacotes^ ƒ^ Classes do java.lang: visão geral das principais classes^ ƒ^ Métodos de java.lang.Object que devem serimplementados^ ƒ^ Pacotes em Java: como criar e como usar^ ƒ^ Arquivos JAR para bibliotecas e executáveis

java.lang

ƒ^ É importante conhecer bem as classes deste pacote ƒ^ Interfaces^ ƒ^ Cloneable^ ƒ^ Runnable ƒ^ Classes^ ƒ^ Boolean, Number (e subclasses), Character, Void^ ƒ^ Class^ ƒ^ Math^ ƒ^ Object^ ƒ^ Process, Thread, System e Runtime^ ƒ^ String e StringBuffer^ ƒ^ Throwable e Exception (e subclasses)

java.lang.Object

ƒ^ Raiz da hierarquia de classes da API Java ƒ^ Toda classe estende Object, direta ou indiretamente^ ƒ^ Classes que não declaram estender ninguém, estendemObject diretamente

class Ponto {}^ é o mesmo que class Ponto extends Object {} ƒ Classes que declaram estender outra classe, herdam deObject pela outra classe cuja hierarquia começa em Object

ƒ^ Todos os métodos de Object estão automaticamentedisponíveis para qualquer objeto^ ƒ^ Porém, as implementações são default, e geralmente inúteispara objetos específicos

Classe java.lang.Object e interface Cloneable^ ƒ^ Principais métodos de Object (todos os objetos têm)^ ƒ^ public boolean equals(Object obj)^ ƒ^ public String toString()^ ƒ^ public int hashCode()^ ƒ^ protected Object clone()

throws CloneNotSupportedException

ƒ^ public void wait() throws InterruptedException ƒ^ public void notify() ƒ Cloneable ƒ^ Usada para permitir que um objeto seja clonado. Nãopossui declaração de métodos ƒ^ Como fazer:^ class^ SuaClasse

implements

Cloneable

class^ SuaClasse

extends^

SupClasse

implements por ser protectedTEM que ser sobrepostopara que possa ser usadoem qualquer classe^ Cloneable

Como estender Object

ƒ^ Há vários métodos em Object que devem sersobrepostos pelas subclasses^ ƒ^ A subclasse que você está estendendo talvez já tenhasobreposto esses métodos mas, alguns deles, talvezprecisem ser redefinidos para que sua classe possa serusada de forma correta ƒ^ Métodos que devem ser sobrepostos^ ƒ^ boolean

equals(Object

o) : Defina o critério de

igualdade para seu objeto ƒ int^ hashCode()

: Para que seu objeto possa ser localizado em Hashtables ƒ String^ toString()

: Sobreponha com informações específicas do seu objeto ƒ Object^ clone() : se você desejar permitir cópias do seu objeto

instanceof e exemplo com equals()

ƒ^ instanceof é um operador usado para comparar umareferência com uma classe^ ƒ^ A expressão será true se a referência for do tipo de umaclasse ou subclasse testada e false, caso contrário ƒ^ Exemplo: sobreposição de equals()^ class Point {private int x, y;public boolean equals(Object obj) {if (obj instanceof Point) {

Point ponto = (Point) obj;if (ponto.x == this.x && ponto.y == this.y) {return true;} } return false;} }

Como sobrepor toString()

ƒ^ toString() deve devolver um String que possarepresentar o objeto quando este for chamado emuma concatenação ou representado como texto^ ƒ^ Decida o que o toString() deve retornar^ ƒ^ Faça chamadas super.toString() se achar conveniente^ ƒ^ Prefira retornar informações que possam identificar oobjeto (e não apenas a classe)^ ƒ^ toString() é chamado automaticamente em concatençõesusando a referência do objeto

Como sobrepor hashCode()

ƒ^ hashCode() deve devolver um número inteiro querepresente o objeto^ ƒ^ Use uma combinação de variáveis, uma chave primária ouos critérios usados no equals()^ ƒ^ Número não precisa ser único para cada objeto mas doisobjetos iguais devem ter o mesmo número.^ ƒ^ O método hashCode() é chamado automaticamentequando referências do objeto forem usadas em coleçõesdo tipo hash (Hashtable, HashMap)^ ƒ^ equals() é usado como critério de desempate, portanto,se implementar hashCode(), implemente equals()também.

Como sobrepor clone()

ƒ^ clone() é chamado para fazer cópias de um objeto^ Circulo

c^ =^ new

Circulo(4,

5,^ 6);

Circulo copia^

=^ (Circulo)

c.clone();

ƒ^ Se o objeto apenas contiver tipos primitivos comoseus campos de dados, é preciso1. Declarar que a classe implementa Cloneable2. Sobrepor clone() da seguinte forma:^ public Object clone() {try {

return super.clone();} catch (CloneNotSupportedException e) {return null;} }

cast é necessárioporque^ clone() retorna Object é preciso sobrepor clone()^ porque eleé definido comoprotected

A classe java.lang.Math

ƒ^ A classe Math é uma classe final (não pode serestendida) com construtor private (não permite acriação de objetos) ƒ^ Serve como repositório de funções e constantesmatemáticas ƒ^ Para usar, chame a constante ou função precedidado nome da classe:^ double

distancia

=^ Math.sin(0.566); int^ sorte

=^ (int)

(Math.random()

*****^ 1000);

double^ area^ =^

**4 ***^ Math.PI

*****^ raio;

ƒ^ Consulte a documentação sobre a classe Math eexplore as funções disponíveis

Funções matemáticas

ƒ^ Algumas funções úteis de java.lang.Math (consulte adocumentação para mais detalhes)^ ƒ^ double random()

: retorna número aleatório entre 0 e 1 ƒ^ int floor(double valor)

: trunca o valor pelo decimal (despreza as casas decimais) ƒ int ceil(double valor)

: retorna o próximo valor inteiro (arredonda para cima) ƒ int round(double valor)

: arredonda valor

ƒ^ double pow(double valor, double valor)

: expoente

ƒ^ double sqrt(double valor)

: raiz quadrada

ƒ^ double sin(double valor)

,^ double cos(double valor)

double tan(double valor)

: calculam seno, cosseno e

tangente respectivamente ƒ Veja ainda:

exp() ,^ log()

,^ ln() ,^ E , PI , etc.

Classes empacotadoras

ƒ^ Criação e conversão^ Integer

n^ =^ new

Integer(15); Integer m^ =^ Integer.valueOf(15); int^ q = n.intValue(); ƒ^ Para conversão de String em tipos primitivos^ int

i^ =^ Integer.parseInt("15");double^ i^ =

Double.parseDouble("15.9"); boolean b^ = (new^ Boolean("true")).booleanValue();

Number

Double Long^ Float Integer Void^ Byte^ Short

Character Boolean

Maiseficiente

Controle e acesso ao sistema

ƒ^ Classe System dá acesso a objetos do sistemaoperacional^ ƒ^ System.out

- saída padrão (java.io.PrintStream) ƒ^ System.err - saída padrão de erro (java.io.PrintStream) ƒ^ System.in - entrada padrão (java.io.InputStream)

ƒ^ Runtime e Process permitem controlar processosexternos (processos do S.O.)^ ƒ^ Runtime

r^ =^ System.getRuntime(); Process p^ = r.exec("c:\program~1\micros~1\msie.exe");

ƒ^ Thread e Runnable lidam com processos internos(processos da aplicação - threads)