![Page 2: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/2.jpg)
ÍNDICEÍNDICE
• Introdução• Programação Orientada a Objetos• A Linguagem Java• Objetos e Classes em Java• Classes Essenciais• Applets• Classes Avançadas
![Page 3: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/3.jpg)
IntroduçãoIntrodução
![Page 4: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/4.jpg)
O QUE É JAVA ?O QUE É JAVA ?
Linguagem de Programação• Simples• Orientada a Objetos• Distribuída• Portável• Robusta• Segura• Interpretada• Independente de arquitetura• Alta Performance• Dinâmica
![Page 5: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/5.jpg)
O QUE É JAVA ?O QUE É JAVA ?
Linguagem de Programação• Todos os programas Java são compilados e
interpretados
• O compilador transforma o programa em bytecodes independentes de plataforma
• O interpretador testa e executa os bytecodes
![Page 6: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/6.jpg)
O QUE É JAVA ?O QUE É JAVA ?
Linguagem de Programação• Cada interpretador é uma implementação da JVM -
Java Virtual Machine (ferramenta, browser, hardware)
• “Write Once, Run Anywhere”
![Page 7: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/7.jpg)
O QUE É JAVA ?O QUE É JAVA ?
Plataforma Java• Uma plataforma é o ambiente de hardware e software
onde um programa é executado
• A plataforma Java é um ambiente somente de software
• Componentes:
Java Virtual Machine (Java VM)
Java Application Programming Interface (Java API)
![Page 8: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/8.jpg)
O QUE JAVA PODE FAZER ?O QUE JAVA PODE FAZER ?
Applets
Servlets
Aplicações
Aplicações cliente/servidor
Aplicações para a Internet
![Page 9: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/9.jpg)
Programação Orientada a ObjetosProgramação Orientada a Objetos
![Page 10: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/10.jpg)
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
Conceitos Básicos
• Objetos
• Mensagens
• Classes
• Herança
![Page 11: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/11.jpg)
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
O que são objetos?• Conjunto de variáveis e procedimentos utilizados para
modelar objetos do mundo real (e imaginário)
• Um objeto é caracterizado pelo seu estado e pelo seu comportamento
Exemplo - Lâmpada• Estados - ligada/desligada
• Comportamento - mudar de ligada para desligada mudar de desligada para ligada
![Page 12: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/12.jpg)
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
O que são mensagens?
• Mensagens são utilizadas para fazer a comunicação
entre os objetos
• Cada objeto entende um conjunto de mensagens que
podem mudar seu estado atual
• Quando há a necessidade de maiores informações, as
mensagens podem conter parâmetros
![Page 13: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/13.jpg)
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
O que são classes?• Uma classe é uma especificação que define as variáveis
e os métodos comuns a todos os objetos de um certo tipo• Um objeto é uma instância de uma classe
O que é herança?• A herança fornece um mecanismo poderoso e natural
para organização e estruturação de objetos• Uma classe herda estados e comportamentos de sua
superclasse
![Page 14: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/14.jpg)
PROGRAMAÇÃO ORIENTADA A OBJETOSPROGRAMAÇÃO ORIENTADA A OBJETOS
Exemplo - Lâmpada
class Lamp {
private boolean LampIsOn;
public void turnKnob() { LampIsOn = !LampIsOn; }
public Lamp() { LampIsOn = false; }}
VariávelVariável
MétodoMétodo
ConstrutorConstrutor
![Page 15: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/15.jpg)
A Linguagem JavaA Linguagem Java
![Page 16: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/16.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Comentários• /* texto */
O compilador ignora tudo entre /* e */• /** documentacao */
indica um comentário para documentação. Utilizado pela ferramenta javadoc
• // texto O compilador ignora todos os caracteres de // até o final da linha
![Page 17: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/17.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Tipos de dados• Inteiros: byte / short / int / long
• Reais: float / double
• Outros: char / boolean
Nomes de variáveis• Série de caracteres Unicode
• Não pode ser palavra chave
• Não pode ser nome de outra variável ou classe
![Page 18: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/18.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Inicializaçãoint i = 10;
char c;
c = ‘X’;
Variáveis finaisfinal float pi = 3.14159;
(final também pode ser utilizado para métodos. Os
métodos finais não podem ter subclasses)
![Page 19: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/19.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Operadores
• Atribuição: =
• Aritméticos: + - * / %
• Unários: ++ --
• Lógicos: = = != < > <= >=
![Page 20: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/20.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Instruções de controle de fluxo
• Condicionais
if-else / switch-case (break)
• Laço
for / while / do-while
• Exceção
try-catch-finally (throw)
![Page 21: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/21.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Vetores
• Declaração
int[] arrayOfInts;
• Inicialização
arrayOfInts = new int[10];
• Declaração e inicialização (elemento de 0 a 9)
int[] arrayOfInts = new int[10];
![Page 22: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/22.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Strings
• Declarações e atribuições
String cde = “cde”;
char data[] = { ‘a’, ‘b’, ‘c’ };
String str = new String( data );
String cc = “ab”+cde;
• As strings podem ser concatenadas através do operador +
• As strings não podem ser alteradas
![Page 23: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/23.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Strings - Alguns Métodos
.substring()
.startsWith()
.endsWith()
.length()
.toUpperCase()
.toLowerCase()
.replace()
.charAt()
.trim
.equals()
.compareTo()
.equalsIgnoreCase()
.toString()
String.valueOf()
![Page 24: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/24.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
StringBuffer• Permitem criar strings que podem ser alteradas
• Todos os métodos da classe StringBuffer são synchronized
• Desempenho pior do que com Strings
• Principais métodos: .append()
.insert()
.length()
.toString()
![Page 25: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/25.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
O Método main• class HelloWorld { public static void main( String[] args ) { System.out.println( “Hello World!” ); }}
• Quando o interpretador Java executa uma aplicação, ele começa chamando o método main
• O método main então chama todos os outros métodos necessários para executar a aplicação
![Page 26: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/26.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Controlando o acesso aos membros da classe
Especificador classe subclasse pacote todos
----------------------------------------------------------------
private X
protected X X X public X X X X
package X X
![Page 27: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/27.jpg)
A LINGUAGEM JAVAA LINGUAGEM JAVA
Métodos e variáveis estáticos• Declarados com o especificador static• São comuns a todos os objetos da classe• Utilizados para declaração de constantes• Utilizados para declaração de métodos que não necessitam de
uma instância da classe• static int FALSO 0;static int VERDADEIRO 1;public static boolean testa( int p ) { if( p == this.VERDADEIRO ) return( true ); else return( false );}
![Page 28: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/28.jpg)
Objetos e Classes em JavaObjetos e Classes em Java
![Page 29: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/29.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Exemplo: Lâmpada
class Lamp {
private boolean LampIsOn;
public void turnKnob() { LampIsOn = !LampIsOn; }
public Lamp() { LampIsOn = false; }}
VariávelVariável
MétodoMétodo
ConstrutorConstrutor
![Page 30: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/30.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Criando um objeto da classe LampLamp l;
l = new Lamp();
Lamp l1 = new Lamp();
Lamp l2 = new Lamp();
Acessando variáveis e métodosl1.turnKnob();
l2.LampIsOn = true;
Viola definição de visibilidade
Viola definição de visibilidade
![Page 31: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/31.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Herança
class StrobeLamp extends Lamp {
private int strobeRate;
public setStrobeRate( int s ) { strobeRate = s; }
}
![Page 32: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/32.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Garbage Collector• A plataforma Java periodicamente libera a memória
usada por objetos que não são mais necessários
• O Garbage Collector roda em uma thread de baixa prioridade e remove todos os objetos que não são mais referenciados
Finalização• Antes de um objeto ser destruído, o Garbage Collector
executa o método finalize do objeto (quanto existir)
• Isto permite, por exemplo, o fechamento de arquivos e conexões de rede
![Page 33: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/33.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
this• A palavra reservada this permite que um objeto consiga
uma referência própria• Referência a uma variável do objetoint s;public setStrobeRate( int s ) { this.s = s;}
• Passagem de referência própriaanimation = new Thread( this );
![Page 34: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/34.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
super• Referência à superclasse• Utilizado para chamar o construtor da superclasseint s;public StrobeLamp( int s ) { super(); this.s = s;}
• Utilizado para chamar métodos da superclassepublic finalize() { f.close(); super().finalize();}
![Page 35: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/35.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Interfaces• Interface é uma especificação que permite que objetos
não relacionados possam interagir (análogo a protocolo)
• As interfaces definem conjuntos de métodos, mas não os implementam
• Uma classe que implemente a interface deve implementar TODOS os métodos definidos nesta.
• public interface Sleeper { public void wakeUp(); public long ONE_SECOND = 1000; // milli}
![Page 36: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/36.jpg)
OBJETOS E CLASSES EM JAVAOBJETOS E CLASSES EM JAVA
Pacotes• Para facilitar o uso, controle de acesso e controle de
conflito de nomes, os programadores agrupam classes e interfaces relacionadas em pacotes.
• Os pacotes necessários a um programa devem ser incorporados através do comando import.
• Basta incluir no início arquivo da classe a linha:package nomePacote;
• Por convenção, deve-se usar o nome do pacote no formato:com.company.package oucom.company.region.package
![Page 37: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/37.jpg)
Classes EssenciaisClasses Essenciais
![Page 38: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/38.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Classe System - Recursos do Sistema• Não há a necessidade de inicialização (classe final)
• Todos os métodos são estáticos
• Algumas plataformas podem gerar erros por não possuírem os dispositivos acessados
class UserNameTest {
public static void main(String[] args) {
String name;
name = System.getProperty("user.name");
System.out.println(name);
}
}
![Page 39: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/39.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Exceções• A linguagem Java utiliza as exceções para fornecer
capacidades de controle de erros quando, durante a execução de um programa, ocorrer um evento que interrompa o fluxo normal de instruções
• Vantagens:• Separar o gerenciamento de erro do resto do código
• Propagar erros
• Agrupar os erros
![Page 40: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/40.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Exceções• try {
// abre o arquivo // determina o seu tamanho // aloca a memória necessária // lê o arquivo para a memória // fecha o arquivo} catch (fileOpenFailed) { fazAlgo;} catch (sizeDeterminationFailed) { fazAlgo;} catch (memoryAllocationFailed) { fazAlgo;} catch (readFailed) { fazAlgo;} catch (fileCloseFailed) { fazAlgo;}
![Page 41: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/41.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Threads• Uma thread - também chamada de linha de execução -
é um fluxo sequencial simples de controle dentro de um programa.
• Quando uma thread é criada, ela executa o método run do objeto.
![Page 42: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/42.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Lendo e escrevendo• Normalmente, os programas devem ler ou escrever
informações em fontes/destinos externos (arquivos, memória, rede, ...).
• Estas informações podem ser de qualquer tipo: números, textos, imagens, ...
• A API Java permite que o programa crie um fluxo para cada um destes pontos externos.
![Page 43: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/43.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Lendo e escrevendo
![Page 44: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/44.jpg)
CLASSES ESSENCIAISCLASSES ESSENCIAIS
Lendo e escrevendo• Os fluxos podem ser de bytes ou caracteres.
• As fontes e destinos podem ser físicas ou apenas de processamento.
• Métodos: .read() e .write()
• Quando necessários, deve-se utilizar a serialização de objetos.
![Page 45: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/45.jpg)
AppletsApplets
![Page 46: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/46.jpg)
APPLETSAPPLETS
O que são Applets?
• Applets são aplicações Java que permitem estender as
funcionalidades da páginas da Internet.
• As applets são executas juntamente com um browser ou
pelo appletviewer (programa do JDK para rodar
applets).
• As applets são chamdas por um documento HTML.
![Page 47: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/47.jpg)
APPLETSAPPLETS
Características
• As applets não possuem o método main.
• Uma applet não tem acesso aos recursos da máquina
local.
• Uma applet somente pode utilizar recursos do servidor
de onde veio.
![Page 48: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/48.jpg)
APPLETSAPPLETS
Ciclo de vida• .init() Este método é chamado para inicializar a
applet.
• .start() Este método inicia a execução da applet. É chamado após a inicialização e toda vez que o usuário volta à pagina (enquanto estiver na memória).
• .paint() Desenha a applet.
• .stop() Interrompe a execução da applet. Inclusive quando o usuário deixa a página.
• .destroy() Libera os recursos alocados pela applet
![Page 49: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/49.jpg)
APPLETSAPPLETS
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
![Page 50: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/50.jpg)
APPLETSAPPLETS
<HTML>
<HEAD>
<TITLE> A Simple Program </TITLE>
</HEAD>
<BODY>
Here is the output of my program:
<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
![Page 51: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/51.jpg)
Classes AvançadasClasses Avançadas
![Page 52: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/52.jpg)
CLASSES AVANÇADASCLASSES AVANÇADAS
java.awt• Abstract Windowing Toolkit
• Objetivo de fornecer as funcionalidades básicas presentes em todas as plataformas gráficas
• Componentes:Label, Button, CheckBox, Choice, List, TextField, MenuItem, Frame, Dialog, Panel, ...
![Page 53: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/53.jpg)
CLASSES AVANÇADASCLASSES AVANÇADAS
java.net• Permite a criação de programas que comuniquem com
recursos ou outros programas em uma rede
• Permite conexões TCP ou UDP
java.rmi• Remote Method Invocation
• Permite que um objeto rodando em uma JVM invoque métodos de um objeto rodando em outra JVM
![Page 54: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/54.jpg)
CLASSES AVANÇADASCLASSES AVANÇADAS
java.security• Importa a funcionalidade da criptografia, incluindo
assinaturas digitais, gerenciamento de chaves e gerenciamento de certificados
java.sql• Permite a conexão aos sistemas de banco de dados
tradicionais, inclusive permitindo a execução de instruções SQL
![Page 55: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/55.jpg)
CLASSES AVANÇADASCLASSES AVANÇADAS
Outras classes• Java 2D
• Java 3D
• Internacionalização
• Java Beans
• Swing
• Servlets
• Java Sound
• Java Media Player
• Java Native Interface
![Page 56: U MA I NTRODUÇÃO À J AVA Marcos André S. Kutova kutova@icmc.sc.usp.br Setembro/98](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc133497959413d8d7835/html5/thumbnails/56.jpg)
ReferênciasReferências
• Java Technology Homepage - http://java.sun.com
• Teach yourself Java 1.1 in 21 Days, L. Lemay & C. Perkins
• Java Unleashed, Michael Morrison
• The Java Tutorial, Mary Campione & Kathy Walrath