You are on page 1of 56

Java

Treinamento Java

Instrutores :
Marcelo Araujo Franco
Fátima Pires
1

Java
Desenvolvedores do Material

✔ Teoria e Prática Java
ƒ Edmilson Bellini Chiavegatto
(Analista de Sistemas)

✔ Java e Orientação a Objetos
ƒ Fátima Pires
(Analista de Sistemas)

2

Java
Histórico
✔ Projeto “Green” (1992)
ƒ 4 integrantes
ƒ Sofware para eletro-domésticos
ƒ Características do Software
 Mínimo uso de memória
 Mínimo preço
✔ Necessidade de um nome
✔ Por que surgiu o Java ?
ƒ C ++ simplificado
ƒ Suprir software para eletro-domésticos
3

Java
Histórico (cont.)
✔ Desenvolvido pela Sun Microsystems
✔ Estabelece Novo Paradigma de Programação
ƒ Totalmente Aberta
ƒ Independente de Plataforma e Sistema Operacional
✔ Usuários afincos do Java :
ƒ CSX (maior companhia ferroviária dos EUA) montou rede Java;
ƒ J.P. Morgan (banco de investimentos);
ƒ Hong Kong Telecom (operações de rede de TV interativa) ;
ƒ Fannie Mac (maior empresa americana de hipotecas);
ƒ American Express (serviços financeiros);
ƒ Banco Itaú usando em suas Intranets e outras.
✔ Hoje 400.000 programadores escrevem em Java
✔ 25% das companhias americanas com mais de 5000 funcionários
pretendem usar Java este ano. 4

Java

Parte I

Orientação a Objetos
e
Java

5

Java
Objetivo

✔ Orientação a Objetos em Java
✔ Conceitos básicos de Orientação a Objetos
✔ Introdução à linguagem Java

6

Java
Roteiro

✔ Paradigma de Orientação a Objetos
✔ Objetos
✔ Encapsulamento
✔ Mensagens
✔ Métodos
✔ Abstração
✔ Classes

7

Java
Roteiro (cont.)

✔ Generalização
✔ Herança
✔ Agregação
✔ Polimorfismo

8

Java
Paradigma
“Paradigma é um conjunto de regras que estabelecem
fronteiras e descreve como resolver os problemas
dentro destas fronteiras.
Os paradigmas influenciam nossa percepção;
ajudam-nos a organizar e a coordenar a maneira como
olhamos para o mundo...”

Reengenharia - Reestruturando a Empresa
Daniel Morris e Joel Brandon

9

Java
Orientação a Objetos

O termo orientação a objetos significa organizar o
mundo real como uma coleção de objetos que
incorporam
estrutura de dados e comportamento.

10

modelos semânticos de dados 11 Java Objetos Coisas tangíveis “A Profecia Celestina” Incidente (evento/ocorrência) Olimpíada de Atlanta Interação Minha consulta (transação/contrato) 12 . Flavours. ✔ Inteligencia Artificial . Smalltalk..Simula.frames ✔ Banco de Dados .. Objective C.. Java Orientação a Objetos Origens ✔ Linguagens de Programação . C++.

. .. 14 ... Java Objetos Objetos são pacotes de software compostos de dados e procedimentos que atuam sobre estes dados. . girar veloc.. Os procedimentos são também conhecidos como métodos e determinam o comportamento do objeto Objeto = dado + método Objeto = estado + comportamento 13 Java Objetos comportamento/ Um objeto métodos/procedimentos propriedades/dados/ variáveis andar buzinar parar tamanho O objeto Carro capac...

Java Objetos Todo o acesso aos dados ou propriedades do objeto é feito através da sua interface 15 Java Encapsulamento Encapsulamento é definido como uma técnica para minimizar interdependencias entre “módulos” através da definição de interfaces externas. Interface Mudanças na implementação de uma classe que preserve a interface externa não afeta outras definições de classes. 16 .

.... andar (.as mensagens identificam os métodos a serem executados no objeto receptor andar (.) emissor ... Java Mensagens Objetos interagem e comunicam-se através de mensagens.... receptor Mensagem para um carro 17 Java Métodos .. receptor 18 ..) emissor ..

Java Métodos O que um determinado método pode fazer com os dados do objeto ? construtor Tipos de métodos destrutor transformador acesso 19 Java Exercício Caracterização de Objetos ✔ Dê 3 exemplos de Objetos ✔ Para cada um deles. sugira alguns métodos pertinentes 20 .

ignorar propriedades acidentais Aeronave Mamífero A abstração deve ser sempre com algum objetivo. Operações instanciação manter Objetos/instâncias decolar 22 pousar .. porque o objetivo determina o que é e o que não é importante.... 21 Java Classes Uma classe de objetos descreve um grupo de objetos • com propriedades semelhantes • comportamentos semelhantes • relacionamentos comuns com outros objetos Classe Avião Atributos capacidade classificação prefixo. .. Java Abstração Focalizar o essencial.

.) Carro “Meu” 24 .. Java Classes Classe atributos e métodos Instanciação de classe 23 Java Comunicação entre objetos procurar o Motorista “Eu” método e variável na definição da classe local Classe Carro andar andar “Meu” (.

aumenta ou diminui dependendo do problema da visão b) 1-barraca 2-caverna 3-barracão 4-garagem 5-celeiro 6-casa 7-edifício 25 Java Vamos respirar.usam os dois olhos 3...para ver as coisas de longe 1 ..3 e 4 . Java Exercício de Abstração O que os objetos em cada uma destas listas tem em comum ? a) 1-microscópio 2-óculos 3-telescópio 4-binóculo Exemplo: 1..4 . 26 .4 .para ver as coisas pequenas 2 .2..melhoram a visão de alguma forma 2.

... public class Morador... String telefone. String te. anoChegada = an. .. {String nomeCompleto. int an) { nomeCompleto = no. 27 Java Exemplo de Definição de Classe (métodos) public class Morador. {. String ap. public morador(String no. } public int permanencia() { return (1997 .. } } 28 . Java Exemplo de Definição de Classe (atributos) .anoChegada). apartamento = ap. int anoChegada. telefone = te...... String apartamento..

..... . “101”. a = new morador(“Fatima”. . .... 1992). “257-2011”. Java Exemplo de Instanciação de Classe . a = new morador(“Fatima”.. “257-2011”.. 29 Java Exemplo Acionando Métodos com Mensagens (I) .... “101”. int p. Morador a.. 30 .. . 1992).permanencia(). // acionando o método // permanencia para o // objeto definido em a indica o envio de mensagem para o objeto a . Morador a.. p = a.....

Java Outro Exemplo de Envio de Mensagens TextField getText setText(.setText(“Exemplo 1”).. String s..getText(). 32 s = tf. tf. tf = new TextField(10).) [classe] 31 Java Exemplo de Envio de Mensagens tf Exemplo 1 [objeto da classe TextField] TextField tf... . . .

Java Relacionamentos entre Classes ✔ Generalização ✔ Herança ✔ Agregação ✔ Polimorfismo (overriding. late binding) 33 Java Generalização/Especialização Generalização é o relacionamento entre uma classe e uma ou mais versões refinadas dessa classe Generalização Especialização Generalização é a abstração que permite compartilhar semelhanças entre classes. preservando suas diferenças 34 . overloading.

mas pode: •adicionar novos métodos •estender os atributos •redefinir a implementação de métodos existentes X (classe base) herda derivada (herdada de X) incremental(específico p/ Y) Y (classe derivada) 36 . Java Hierarquia de Classes superclasse subclasse A subclasse B subclasse C Classes derivadas 35 Java Herança Uma classe derivada herda as propriedades e métodos da classe pai.

ap. int va) {super(no. aluguel = va. public morador_inq(String no. int an. } } 38 . Java Localizando Métodos e Atributos na Hierarquia “imprima” Instância 37 Java Exemplo de Herança import morador. public class morador_inq extends morador {int aluguel. an). tel. String tel. String ap.

nomeCompleto).out.nomeCompleto).println(m. System.println(mi. 200).“101”.println(mi. System. public static void main(String[] args) {m = new morador(“Fatima”.“234”. ”239”. System. Horista-Contratado 40 . static morador_inq mi. 1990).1991.out.out. ”100”. Eventual Contratado Não-Cont. 39 }} Java Herança Múltipla Empregado Horista Mensal. Java Exemplo de Herança Acessando atributos de subclasses public class aplher extends Object {static morador m. mi= new morador_inq(“Rey”.aluguel).

Java Agregação Um objeto agregado é “feito” de componentes Lâmpada Base Cobertura Tomada Fiação Agregação Fixa 41 Java Agregação Um objeto agregado é “feito” de componentes Empresa Divisão Depto 1+ Pessoa Agregação Variável 42 .

proprietario = pro...Agregação Exemplo de objeto composto (cont.Agregação Exemplo de objeto composto: public class material extends Object {String rotulo. double va. } } 44 . public material (String ro... int an) {rotulo = ro. Java Java ..) .. valor = va.anoEstocagem). Boolean emCaixa.): public class material extends Object {. } public int permanencia() { return (1997 .. double valor. Morador pro.. anoEstocagem = an. 43 Java Java . boolean em.. int anoEstocagem. Morador proprietario. public material (. emCaixa = em.

mt3) da classe Material cada um deles pertencendo a cada um dos seguintes moradores instanciados (a. j. mt2. Java Exercício . 46 .Acesso aos Atributos dos Objetos Dê a expressão que indica o acesso ao atributo nomeCompleto do proprietário do material identificado por mt. al) 45 Java Exercício .Instanciação de Objeto Instanciar 3 materiais (mt1.

mt2 = new material(“frasqueira”. 48 . mt2.true. .proprietario.j. mt.1992)...al.. . 47 Java Acesso aos Atributos dos Objetos Material mt. mt3 = new material(“furadeira”..00. . .50.false. mt3.1991)..false.00..1990).00. mt1 = new material(“mala”. Java Instanciação de Objeto Material mt1.nomeCompleto..150...a..110.

. redefinição da operação de desenhar (“overriding”) . */ “late binding” 50 .. desenhar . Java Overloading/Overriding Ambiente Convencional tela multimídia texto begin case of type(x) figuras programa texto: desenhar_texto(x) tuplas convencional imagem: desenhar_imagem(x) imagens tupla: desenhar_tupla(x) . end end 49 Java Overloading/Overriding Ambiente OO Item_tela (desenhar) Texto Figura Tupla Imagem (desenhar) (desenhar) (desenhar) (desenhar) ..mesmo nome para 3 programas (“overloading”) For x in X do desenhar(x).

public morador (...permanencia() - permanencia() ) * 0..Polimorfismo Exemplo: public class material extends Object {. } 51 Java Java .) {.anoChegada).. Java Java .Polimorfismo Exemplo: public class morador extends Object {.01.} public int permanencia() { return (1997 ....... } //há quanto tempo o // morador reside no // condomínio .) [método construtor] {..proprietario = . } 52 .} ....anoEstocagem)... public material (. } //há quanto //tempo o material //está estocado public double taxaMensal() { return valor/(proprietario.} public int permanencia() { return (1997 ..

sites de consulta. applets. Java Script ✔ Construção (ambiente. Biblioteca Java. Java Programando em Java ✔ Entendimento do Problema ✔ Identificação das classes necessárias (atributos e métodos) - classes Java.Java “puro”. suporte) 53 Java Parte 2 Teoria e Prática Java 54 . Web. classes de Banco de Dados ✔ Definição das aplicações (lógica e interface) . classes próprias não persistentes.

Java Bibliografia ✔ Aprendendo Java Programação na Internet Autor Américo Damasceno Jr. Editora Érica Ltda ✔ The Java Language Environment A White Paper Jasmes Gosling Henry McGilton SUn Microsystems Computer Company ✔ Páginas de Internet ✔ Reportagens de Revistas sobre atualidades envolvendo Java 55 Java Características Java ✔ Linguagem Orientada a Objetos (Reuso) ✔ Semelhante ao C ++ ✔ C ++ -- ✔ Gera Bytecodes ƒ Interpretada ƒ Alta Performance ✔ Segurança ƒ Endereçamento Restrito ƒ Objetos Assinados ✔ Aplicação Carregada Localmente 56 .

<script language = “Java Script” Function ----------- { . Java Características Java (cont...) ✔ Aplicações Personalizadas ✔ Independência de Arquitetura ƒ Neutra ƒ Distribuída  Funciona em Diferentes Máquinas ✔ Não há Herança Múltipla ✔ Não há Overloading de Operadores (Sobrecarga) ✔ Não há Aritmética de Ponteiros ✔ Inclui Tratamento de Exceções ✔ Garbage Collector 57 Java Conceitos || Java Script ✔ Primeira Versão do Java ✔ Aplicação Interna ao HTML ✔ Interpretada ✔ Não havia o Conceito de ByteCodes ✔ Ex... } </script> 58 ..

length). if (seed > 50) { seed--. timerTwo=window.setTimeout("scrollit_r2l(50)".setTimeout(cmd.setTimeout(cmd.status=" ".75).length) { out+=msg. } else { window. var msg = m1. seed--. c < seed .substring(-seed. out+=msg.status=out. Java Conceitos || Java Script (cont. var out = " ". c++) out+=" ".msg. seed--.Excelente Escolha !!!". window. var c = 1.) seed--.50). <SCRIPT LANGUAGE="JavaScript"> function scrollit_r2l(seed) { var m1 = " Bem Vindo à Página minha Página . } } } 60 </SCRIPT> . var cmd="scrollit_r2l(" + seed + ")".status=out. } else if (seed <= 50 && seed > 0) { for (c=0 . timerTwo=window.setTimeout(cmd.) ✔ Ex. Java Conceitos || Java Script (cont. var cmd="scrollit_r2l(" + seed + ")". } else if (seed <= 0) { if (-seed < msg. var cmd="scrollit_r2l(" + seed + ")". 59 var cmd="scrollit_r2l(" + seed + ")". timerTwo=window.50). window.50). timerTwo=window.

middle.class” codebase = “http://www. <applet code = “ap1.bottom> width=300 height=100 <param name=tamanho value = 30> <param name=fontevalue value “Times Roman”> </applet> 61 Java Funcionamento Applet Java Solicita Página Web Página Solicitada Applet Referenciado Cliente Servidor 62 .top. Java Conceitos || Applet ✔ Aplicação Executada quando se Chama Página WWW ✔ E´ Carregada na Máquina do Cliente ✔ Restringe-se a uma Determinada Área (Janela) ✔ Ex.br/~edmilson“ lign=left ou <right.unicamp.

63 Java Conceitos || Método Construtor ✔ Método Ativado ao ser Criado o Objeto ✔ Útil para Inicializar Propriedades na Criação ✔ Tem o mesmo Nome da Classe ✔ Caso não Exista será Ativado um Método Construtor Default 64 . Funcionario f 1. Java Conceitos || Método ✔ Determinada Ação que o Objeto pode ter ao ser Ativado ✔ Ex. f 1.mtTempoAposentadoria( ).

java>.  Abrir no Browser o arquivo html que faz chamada a uma applet java ✔ Depuração ƒ jdb <nome. public class apexemplo extends Applet { int idade. Unix ƒ 16 Mb de Ram ✔ Gerador de Bytecodes ƒ Javac <programa.class> 66 .java Será gerado um arquivo de extensão (class). String endereco. String parm2) { this.class ✔ Execução ƒ Java Puro  java <nome do arquivo de extensâo class>.) ✔ Ex. Windows NT 4. this.idade = parm1. Ex.*.applet . MacIntosh. Ex : prog1.endereco = parm2.0. Ex: javac prog1. import java . public apexemplo (int parm1. Java Conceitos || Método Construtor (cont. } } ✔ Como é a chamada deste Método ? 65 Java Ambiente de Desenvolvimento ✔ Configuração Mínima ƒ 486 DX/33 ƒ Windows 95. java prog1 ƒ Java Applet  appletviewer <nome do arquivo de extensâo html> . Solaris.

applet.* public class hello extends Applet { Panel p1. import java. Java Programa Java Applet ✔ Ex. add (p1).awt.* import java.add (l1).setText (“Olá Internet ! “). l1 = new Label ( ). l1.out. p1. Label l1. compilá-lo e rodá-lo ✔ Digitar o exemplo de programa Java Puro. } 67 } Java Programa Java Puro ✔ Ex. public class OlaInternet { public static void main (String[] args) { System. } } ✔ Digitar o exemplo de programa Java Applet . compilá-lo e 68 rodá-lo .println(“Olá Internet !!!”). public hello ( ) { p1 = new Panel ( ).

out. // atribuição ƒ Executa(). Java Comandos || Fundamental/Sequencial ✔ Comandos fundamentais ƒ Todo comando deve terminar por um ponto e vírgula. } } 70 ✔ Digite este exemplo e o faça funcionar . ƒ y=0.out.length < 5) System. 69 Java Comandos || Condição ✔ Condição ƒ if (expressão-booleana) // se expressão verdadeira comando.parseInt(args[0])].length). x[2]=10. ƒ comando2. x[3]=15. // se expressão falsa public class figuras extends Object public void main(String[] args) { int[] x = new int[Integer.println(“tamanho array = “+x. if (x. // invocação ✔ Sequência ƒ comando1. else { System.println(“Erro !!!!”). // a expresão booleana deve vir entre parênteses else // opcional comando.

break. Pode-se fazer switch com os tipos byte.. int.out.i < 10..50. ✔ for (Super While) for (int i=0. switch (x) { case 0 : System..out.i).0.i).raio).println(“sexo é feminino”).desenha_circulo(0. 72 . break.println(“sexo é masculino”). ++i) window.20. case 1 : System. default : System.out. Java Comandos || Iteração ✔ Enquanto . while (++raio < 10) figuras. do figuras..desenha_circulo(0.desenha_reta(10. ✔ faça. Java Comandos || Condição ✔ Evitando if em Cascata int x.0. while (++i < 10). int raio = 0. short. ✔ Ps. } ..println(“sexo é indefinido”). break. char.. 71 long. Enquanto (Executa ao menos uma vez) int i=10.

// comentário de linha ƒ /* função : desenhar uma reta conforme parâmetros parâmetros : x1. Double. Character.io ƒ Pacote que permite manipulação de Streams lendo ou gravando em arquivos e outros ƒ Principais classes : DataInputSream. 74 . ✔ java. Object.util ƒ Pacote que provê uma miscelânea de classe úteis incluindo estrutura de dados. FileOutputStream. Java Léxico ✔ Comentários ƒ int x = 0. UDP Sockets. etc. time.y2 --> coordenadas finais */ comentário de mais de uma linha class Figura { ƒ /** este tipo é utilizado para se gerar documentação Java @see Área @version 1.java>  converte em documentação HTML 73 Java Packages Principais ✔ java. etc. FileInputStream..net ƒ Pacote que provê suporte a redes. TCP Sockets. System. Long. String.lang ƒ Pacote em que não é necessário se dar um import ƒ Principais classes : Boolean.y1 --> coordenadas iniciais x2. Endereços IP. Math. Thread ✔ java.. date. geração de números randômicos.0 @author Edmilson Bellini Chiavegatto */ } ƒ javadoc <nome. incluindo-se URL’S. PrintStream ✔ java. Integer. Float.

✔ int i[] = {10. // atribuição de que elemento para y ??? 76 . etc..awt ƒ Pacote que provê um conjunto de manipulações de interfaces para o usuário tais como windows. start. // criação de um array de 4 posições ✔ i[0] = 55. init. play. menus. caixas de diálogos. Java Packages Principais (cont.64}.applet ƒ Pacote que habilita a criação de applets através da classe applet. getParameter. botões. // outra maneira de se criar um array de 4 posições ✔ int y = i[3]. ƒ Principais métodos da classe Applet : destroy. listas.40. // atribuição de que elemento para y ??? ✔ int y = i[4]. resize. scrollbars. stop 75 Java Classe Array ✔ Representa um conjunto de elementos de um determinado tipo ✔ Sua criação é parecida com a criação de outros objetos ✔ int i[] = new int[4]. Também prove recursos de áudio. ✔ java. cores. textfields..) ✔ java. showStatus. checkboxes.25.

78 .concat("Carlos")). System. k: 14 12 20 01 10 34 ✔ Como obter o elemento 34 do array ? ✔ Propriedade length ƒ i.println("A letra na posicao 2 da palavra " + nome + “e' " + letra).) ✔ int k[] [] = new int[3][2]. String nome2 = “Mario”.retorna caracter que estiver no dado índice i letra = nome. podendo ser manipulada através de métodos char letra. ƒ concat(String s) . String nome = “Joao”.out.charAt(2).println(nome + " + Carlos = " + nome.lenght resultado : 2 77 Java Classe String ✔ Classe que Armazena caracteres . int idade = 34. Java Classe Array (cont.concatena com outro String chamado s System.length resultado : 4 ƒ k. nome = nome.out.lenght resultado : 3 ƒ k[2].concat(" Carlos"). ✔ Relação de alguns métodos úteis : ƒ charAt(int i) .

) ƒ length( ) .println(nome + " e diferente de " + nome2).out.println("Substring(0.equals(nome2)) System.2).) ƒ equals(Object o) .println(nome + " e igual a " + nome2).2) de " + nome + " e' " + nome. int sF) .replace('i'. Retornará -1 se não achar.out.length()) + " caracteres").indexOf("o"))).out. else System.valueOf(nome. ƒ indexOf(char c) .println("A primeira letra o em " + nome + " esta na posicao "+ String.out.println(nome + " tem" + String. char n) . 79 Java Classe String (cont. System.substring(0. É uma maneira para se usar outros métodos em cima da tal palavra.out.retorna índice da primeira ocorrência do caractere c.valueOf(nome. System.println("A Troca da letra i por c de " + nome2 + " e' " + nome2. nome = nome.retorna String com os caracteres entre sI(inclusive) e sF(exclusive) System. nome2 = nome2.2)). System.substring(0. ƒ valueOf(elemento) . ao contrário da classe Array.out.'c')). ƒ substring(int sI.replace('i'.println(“A idade de " + nome + " e' " + String.retorna String com substituição de caracter velho por um novo System.'c').retorna true se a String for igual a o if (nome.out. 80 . Java Classe String (cont. Neste caso é um método. ƒ replace(char v.retorna um objeto String com o valor equivalente ao do dado elemento.retorna tamanho da String.valueOf(idade) + " anos").

this. String rgeral.retorna String sem espaços nome = nome. System. nome = nome. import java.nomefunc = nfunc. String rg.rgeral = rg. ✔ Crie uma classe.out. this.concat("ao Carlos "). // não é necessário dar este import public class empregado extends Object { String nomefunc.println('*' + nome + "* sem brancos desnecessarios e' *"+ nome.println(nome + " em minusculo e' " + nome. String matri.matricula = matri.toUpperCase()). Java Classe String (cont. nome = nome.retorna String convertida para maiúscula System.trim() + '*').toLowerCase()).println(nome + " em maiusculo e' " + nome. 82 } .retorna String convertida para minúscula System. /* método construtor */ public empregado(String nfunc.) ƒ toLowerCase( ) . nome = nome. ƒ toUpperCase( ) .trim(). int anomatricula. String matricula.*.anomatricula = anomat.lang.toLowerCase(). int anomat) { this. Digite estes comandos e Teste-os 81 Java Programa Java || Definição de Classe ✔ Ex.toUpperCase(). this.out.out. ƒ trim( ) .

applet. 84 . empregado carlos.awt. /* método que retorna valor inteiro */ public int mtTempoServico ( ) { return (1997 . import empregado.. Java Programa Java || Definição Classe (cont.anomatricula). public void <nome método> ( ) */ } 83 Java Programa Java || Usando a Classe Definida ✔ Ex. usa-se a palavra void Ex.) ✔ . public class appfunc extends Applet { Panel p1. } /* Se método não retornar valor..*. import java. Label l1. import java.this.*.

) ✔ .499. Java Programa Java || Usando a Classe Definida (cont.”17.. setLayout(new BorderLayout( ) )..:“ +carlos.1980).rgeral). public appfunc ( ) { carlos = new empregado(“Carlos Silva”.4859”. p1 = new Panel ( ).789- X”.add(l1). add(“Center”. } } ✔ Adicione ao Exemplo a chamada do Método que Devolve o Tempo de Serviço de Carlos 85 Java Controle de Acesso || public ✔ Acesso permitido para qualquer método de qualquer classe Classe 1 Classe 3 import f( ) public x f() Acesso a variável ou Derivação método x Classe 2 f( ) Ps) Pode-se determinar para quais métodos um atributo ou método é visível 86 . l1 = new Label(carlos.”15.nomefunc + “ Matr.matricula + “ RG.:” + carlos.p1). p1.

Java Controle de Acesso || protected ✔ Acesso para métodos compatíveis (da mesma classe ou de derivadas) Classe 1 Classe 3 import f( ) protected x f() Acesso a variável ou Derivação método x Classe 2 f( ) 87 Java Controle de Acesso || private ✔ Acesso restrito a métodos da própria classe Classe 1 Classe 3 private x import f( ) f() Acesso a variável ou Derivação método x Classe 2 f( ) 88 .

} }. else System. Java Obstruindo Mudanças || final ✔ final : impede modificações ✔ Atributo final: Contante ƒ final int TamVetor = 50... // constante ✔ Método Final : Não pode ser redefinido por classes derivadas ƒ class Conta { final void Retirada (float Quanto) { if (Saldo >= Quanto) . . ✔ Classe final : Não pode ser herdada ƒ final class Frame { .out.println(“ Pessoa Feliz !!”). class Messagebox extends Frame // Erro !!!! 89 Java Tipos de Dados Primitivos || booleano ✔ Estes tipos não são objetos ✔ Tipo booleano pode assumir os valores true e false boolean TemSogra = true. 90 .println(“ Pessoa mais Feliz ainda !!”).out. if not (TemSogra) System. }. .

System. public class messagebox extends Frame { Panel p1.p2.out.100. this. } } 91 Java Definição da Classe messagebox import java.reshape(100.300. Button b1. this.awt. Java Tipos de Dados Primitivos || char ✔ Tipo char (caracter) ✔ Ocupa 2 bytes ✔ Padrão Unicode ✔ public class ExCaracter extends Object { public static void main (String[] args) { char exemploLetra = ‘é’.*.println(exemploLetra).setTitle(“MENSAGEM”). Label l1.150). public messagebox(String mens) { setLayout(new BorderLayout( ) ). 92 .

add(“South”. Java Definição da Classe messagebox (cont.add(b1). add(“North”. l1 = new Label(mens).) p1 = new Panel( ). 93 } } Java Exercício ATENÇÃO : LEIA ATENTAMENTE ESTE EXERCÍCIO ✔ Digite a classe messagebox e a “compile” ✔ Defina uma classe que se utilize da classe messagebox ✔ Esta nova classe deverá importar as classes applet e awt ✔ A nova classe deverá conter um panel ao norte da applet e nele deverá existir um botão ✔ A função deste botão será a de exibir o messagebox com uma mensagem a livre escolha do programador.show ( ) .target = = b1) hide( ). return true. sendo que m1 é do tipo messagebox 94 . ✔ O comando para se ativar o messagebox é : m1.p2). hide( ). Object arg) { if (“OK”.add(l1). return true. p1. p2.p1).equals(arg)) OU if (evt. b1 = new Button(“OK”). p2 = new Panel( ). public boolean action (Event evt.

} } ✔ Qual a diferença entre os dois tipos de referências ??? 96 .println(carroça). carro = carroça.out.out.println(carroça).println(carro). System. } } 95 Java Tipos de Referência ✔ public class Soma extends Object { int i . public static void main(String[ ] args) { j = i = 1.out. System. i = 2. Java Tipos de Referência ✔ São representados por objetos e arrays ✔ Guardam o endereço do objeto ou Array e não o seu valor ✔ public class Veículo extends Object { public static void main (String [ ] args) { String carro = new String (“carro”). System. j.println(carro).out. System.println (i+” + “+j).out. System.println(i+” + “ +j).out. String carroça = new String (“carroça”). System.

out. ✔ public class TestaIgualdade extends Object { public static void main ( String [ ] args) { if (args[0]. 98 . Figura circulo2 = circulo1. “Compile-o” e Teste-o 97 Java Igualdade e Cópia entre Objetos ✔ Todas as classes possuem um método clone(). Java Igualdade e Cópia entre Objetos ✔ O operador = = verifica se objetos tem a mesma referência ✔ Existem em várias classes o método equals ✔ Este método realiza teste de igualdade de conteúdos.println(“Cor não é branca !!!”) } } ✔ Digite este exemplo. Figura circulo1 = new Figura( ). Ex.println(“Cor e’ branca !!!”) else System.equals (“branco”)) System. ✔ Retorna uma cópia do objeto em referências diferentes.out.clone( ).

Java Tratamento de Exceções ✔ Erros mais comuns : ƒ Problema no acesso a arquivo. l1.parseInt(t1.equals(arg)) { try { x = Integer. } catch (Exception e) { m1 = new messagebox(“Erro: “ + e. ✔ O Java cria objeto “ e” da classe Exception ✔ É guardado neste objeto a mensagem de erro 99 Java Tratamento de Exceções ✔ public boolean action (Event evt. y = Integer. Object arg) { if (“soma”. z = x + y. ƒ Falta de Memória. ƒ Divisão de inteiro por zero.setText(“RESULTADO: “ + z + “ “). } } } 100 .show( ). ƒ Divisão de não-inteiro por zero. ƒ Dado inadequado para conversão.getText( ) ).toString( ) ).getText( ) ).parseInt(t2. m1. ƒ Entrada Inválida.

mouseDown. } 101 Java Eventos do Mouse e Teclado ✔ Estes eventos são tratados dentro de métodos pré-definidos tais como : mouseUp.awt..*. GotFocus. int x. ✔ Ex.applet. LostFocus. mouseEnter.exit(0). . import java. } public boolean mouseDown(Event e. int x. mouseDrag. Keydown. return true. 102 } .WINDOW_DESTROY)) System. mouseExit. return true..*. int y) { showStatus(“mouse Down posição: “ + x + “ e “ + y + “ “). public class Eventos extends Applet { public boolean mouseUp(Event e. return true.id = = (Event. Java Tratando Eventos do Windows ✔ Verificar documentação da classe Event ✔ Eventos são capturados através do método handleEvent ✔ public boolean handleEvent(Event evt) { if (evt. int y) { showStatus(“mouseUp posição: “ + x + “ e “ + y + “ “). mouseMove. import java.

return true. Java Eventos do Mouse e Teclado (cont.) public boolean mouseDrag(Event e.) public boolean Keydown(Event e. int x) { showStatus(“Keydown código: “ + x). } } ✔ Digitar estes eventos e ver como se comportam 104 . } 103 Java Eventos do Mouse e Teclado (cont. int x. } public boolean mouseMove(Event e. return true. int y) { showStatus(“mouse Move posição: “ + x + “ e “ + y + “ “). int y) { showStatus(“mouse Drag posição: “ + x + “ e “ + y + “ “). return true. int x. } public boolean mouseExit(Event e. int x. int y) { showStatus(“mouseExit posição: “ + x + “ e “ + y + “ “). return true.

orange.240. GREEN. Color c1 = new Color(230.parseInt(<string>) ---> retorna um valor inteiro do parâmetro passado ƒ Ex: i = Integer.black). lightGray.0.setBackground(Color.setForeground(Color. darkGray.0 ou 000000 ✔ Ex. Panel p1. p2.255 ou FFFFFF Cor preta = 0.250). magenta. pink. p1. BLUE) Cor branca = 255.255. cyan. 105 Java Exercício ✔ Dado que : ƒ Integer..parseInt(“464”) ---> i = 464 ✔ Escreva os comandos em Java para : ƒ Obter o conteúdo de um TextField t2. blue. white. red. ƒ somar o valor 10 . ƒ Colocar o resultado no próprio TextField t2. yellow. . p1. gray. Java Tratando Cores ✔ Cores pré-definidas : ƒ black..magenta).setBackground(c1). green. ✔ Crie variáveis auxiliares se necessário 106 . p1. ✔ Pode-se criar cores utilizando-se de cores básicas ✔ O Padrão utilizado é o RGB(RED.

y2). ✔ Lembre-se. 108 . enviar mensagem através do messagebox alertando-o para sua aposentadoria.getText().parseInt(<string>).setText(“texto”). o método para se transformar uma String em inteiro(int) é o parseInt. bem como a consistência do campo Idade do Funcionário. ✔ O comando para se ativar modo gráfico é : Graphics g.y1. Exemplo : t1. Exemplo : t1. deverá ir sendo desenhada uma linha. Java Exercício ✔ Defina uma classe chamada paint ✔ Esta nova classe deverá importar as classes applet e awt ✔ A nova classe deverá ter uma cor de frente e de fundo ✔ Quando se pressionar o botão do mouse e começar a operação de arrasto. Exemplo : Integer. ✔ Para se escrever em um TextField usamos o método setText (< String a ser escrita >). ✔ Para se ler o conteúdo de um TextField usamos o método getText().x2. ✔ Use o comando getGraphics() e os métodos de setar cores dentro do método init().drawLine(x1. ✔ O método para se desenhar uma linha é : g. o qual funciona como um método construtor 107 Java Exercício || Saideira ✔ Existe uma classe previamente digitada chamada apaluno ✔ Digitar o código referente ao cálculo do Salário Família. g = getGraphics(). que serão ativadas ao se clicar o botão envia ✔ Salário Família = número de dependentes * padrao_familia. ✔ Se a idade do funcionário for maior que 65.

Corel Office for Java) ƒ Intranets ✔ Sistema Operacional Java ƒ Tamanho Compacto ✔ Java Security ƒ Criptografia ƒ Assinatura ƒ Autenticação ✔ Java Média ƒ Vídeo Conferência 109 Java Tendências (cont.) ✔ Java Commerce ƒ Carteira Eletrônica ƒ Dinheiro Eletrônico ƒ Cartão de Crédito ✔ JDBC ƒ Driver instalado no servidor ƒ Comunica-se com qualquer banco de dados ƒ Independe de plataforma ✔ Inexistência de Driver ƒ Embutido no S... barbeador elétrico. ✔ Onde serão usadas a plataforma Java ? ƒ Atuais plataformas (Sistemas Operacionais) ƒ Eletro-Eletrônicos ƒ Pacotes de Software (Ex. Java Tendências ✔ Java em plataforma não tradicional ƒ Javaships (silício)  Ex.O. telefones celulares. . Java 110 .

ufpe.html ƒ Libraries.ui.0.j-g.com/jagg ƒ JDBC ✔ java. graficos.com/applets/applet.gamelan. Base de Dados. Java Sites Interessantes ✔ www.sun.br/~java ƒ Dicas.com:80/products/jdk/1.sun. Introdução em Tópicos.di.com / pages/Gamelan.com/java ƒ Exemplos Java ✔ java.bulletprooj.programming.html ƒ Exemplos Java ✔ www-a.2/api ƒ Download de releases do Java para várias plataformas com documentação de bibliotecas de classes ✔ www. FAQ ✔ www. Exemplos 111 .