Professional Documents
Culture Documents
NDICE
Introduo
Programao Orientada a Objetos
A Linguagem Java
Objetos e Classes em Java
Classes Essenciais
Applets
Classes Avanadas
Introduo
O QUE JAVA ?
Linguagem de Programao
Simples
Orientada a Objetos
Distribuda
Portvel
Robusta
Segura
Interpretada
Independente de arquitetura
Alta Performance
Dinmica
O QUE JAVA ?
Linguagem de Programao
Todos os programas Java so compilados e
interpretados
O compilador transforma o programa em bytecodes
independentes de plataforma
O interpretador testa e executa os bytecodes
O QUE JAVA ?
Linguagem de Programao
Cada interpretador uma implementao da JVM Java Virtual Machine (ferramenta, browser, hardware)
Write Once, Run Anywhere
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)
PROGRAMAO
ORIENTADA A OBJETOS
Conceitos Bsicos
Objetos
Mensagens
Classes
Herana
PROGRAMAO
ORIENTADA A OBJETOS
O que so objetos?
Conjunto de variveis e procedimentos utilizados para
modelar objetos do mundo real (e imaginrio)
Um objeto caracterizado pelo seu estado e pelo seu
comportamento
Exemplo - Lmpada
Estados - ligada/desligada
Comportamento - mudar de ligada para desligada
mudar de desligada para ligada
PROGRAMAO
ORIENTADA A OBJETOS
O que so mensagens?
Mensagens so utilizadas para fazer a comunicao
entre os objetos
Cada objeto entende um conjunto de mensagens que
podem mudar seu estado atual
Quando h a necessidade de maiores informaes, as
mensagens podem conter parmetros
PROGRAMAO
ORIENTADA A OBJETOS
O que so classes?
Uma classe uma especificao que define as variveis e
os mtodos comuns a todos os objetos de um certo tipo
Um objeto uma instncia de uma classe
O que herana?
A herana fornece um mecanismo poderoso e natural
para organizao e estruturao de objetos
Uma classe herda estados e comportamentos de sua
superclasse
PROGRAMAO
ORIENTADA A OBJETOS
Exemplo - Lmpada
Varivel
Varivel
class Lamp {
private boolean LampIsOn;
public void turnKnob() {
LampIsOn = !LampIsOn;
}
public Lamp() {
LampIsOn = false;
}
}
Mtodo
Mtodo
Construtor
Construtor
A Linguagem Java
A LINGUAGEM JAVA
Comentrios
/* texto */
A LINGUAGEM JAVA
Tipos de dados
Inteiros: byte / short / int / long
Reais: float / double
Outros: char / boolean
Nomes de variveis
Srie de caracteres Unicode
No pode ser palavra chave
No pode ser nome de outra varivel ou classe
A LINGUAGEM JAVA
Inicializao
int i = 10;
char c;
c = X;
Variveis finais
final float pi = 3.14159;
A LINGUAGEM JAVA
Operadores
Atribuio:
Aritmticos: +
Unrios:
++
Lgicos:
==
-!=
<
>
<=
>=
A LINGUAGEM JAVA
Instrues de controle de fluxo
Condicionais
if-else
switch-case (break)
Lao
for
while
do-while
Exceo
try-catch-finally
(throw)
A LINGUAGEM JAVA
Vetores
Declarao
int[]
arrayOfInts;
Inicializao
arrayOfInts = new int[10];
A LINGUAGEM JAVA
Strings
Declaraes e atribuies
String cde = cde;
char data[] = { a, b, c };
String str = new String( data );
String cc = ab+cde;
A LINGUAGEM JAVA
Strings - Alguns Mtodos
.substring()
.startsWith()
.endsWith()
.length()
.toUpperCase()
.toLowerCase()
.replace()
.charAt()
.trim
.equals()
.compareTo()
.equalsIgnoreCase()
.toString()
String.valueOf()
A LINGUAGEM JAVA
StringBuffer
Permitem criar strings que podem ser alteradas
Todos os mtodos da classe StringBuffer so
synchronized
Desempenho pior do que com Strings
Principais mtodos:
.append()
.insert()
.length()
.toString()
A LINGUAGEM JAVA
O Mtodo main
class HelloWorld {
public static void main( String[] args ) {
System.out.println( Hello World! );
}
}
A LINGUAGEM JAVA
Controlando o acesso aos membros da classe
Especificador
classe subclasse pacote todos
---------------------------------------------------------------private
X
protected
public
package
X
X
X
X
A LINGUAGEM JAVA
Mtodos e variveis estticos
class Lamp {
private boolean LampIsOn;
public void turnKnob() {
LampIsOn = !LampIsOn;
}
public Lamp() {
LampIsOn = false;
}
}
Mtodo
Mtodo
Construtor
Construtor
Finalizao
Antes de um objeto ser destrudo, o Garbage Collector
executa o mtodo finalize do objeto (quanto existir)
Isto permite, por exemplo, o fechamento de arquivos e
conexes de rede
Classes Essenciais
CLASSES ESSENCIAIS
Classe System - Recursos do Sistema
No h a necessidade de inicializao (classe final)
Todos os mtodos so estticos
Algumas plataformas podem gerar erros por no possurem os
dispositivos acessados
class UserNameTest {
public static void main(String[] args) {
String name;
name = System.getProperty("user.name");
System.out.println(name);
}
}
CLASSES ESSENCIAIS
Excees
A linguagem Java utiliza as excees para fornecer
capacidades de controle de erros quando, durante a
execuo de um programa, ocorrer um evento que
interrompa o fluxo normal de instrues
Vantagens:
Separar o gerenciamento de erro do resto do cdigo
Propagar erros
Agrupar os erros
CLASSES ESSENCIAIS
Excees
try {
} catch
} catch
} catch
} catch
} catch
}
// abre o arquivo
// determina o seu tamanho
// aloca a memria necessria
// l o arquivo para a memria
// fecha o arquivo
(fileOpenFailed) {
fazAlgo;
(sizeDeterminationFailed) {
fazAlgo;
(memoryAllocationFailed) {
fazAlgo;
(readFailed) {
fazAlgo;
(fileCloseFailed) {
fazAlgo;
CLASSES ESSENCIAIS
Threads
Uma thread - tambm chamada de linha de execuo um fluxo sequencial simples de controle dentro de um
programa.
Quando uma thread criada, ela executa o mtodo run
do objeto.
CLASSES ESSENCIAIS
Lendo e escrevendo
Normalmente, os programas devem ler ou escrever
informaes em fontes/destinos externos (arquivos,
memria, rede, ...).
Estas informaes podem ser de qualquer tipo:
nmeros, textos, imagens, ...
A API Java permite que o programa crie um fluxo para
cada um destes pontos externos.
CLASSES ESSENCIAIS
Lendo e escrevendo
CLASSES ESSENCIAIS
Lendo e escrevendo
Os fluxos podem ser de bytes ou caracteres.
As fontes e destinos podem ser fsicas ou apenas de
processamento.
Mtodos: .read() e .write()
Quando necessrios, deve-se utilizar a serializao de
objetos.
Applets
APPLETS
O que so Applets?
Applets so aplicaes Java que permitem estender as
funcionalidades da pginas da Internet.
As applets so executas juntamente com um browser ou
pelo appletviewer (programa do JDK para rodar
applets).
As applets so chamdas por um documento HTML.
APPLETS
Caractersticas
As applets no possuem o mtodo main.
Uma applet no tem acesso aos recursos da mquina
local.
Uma applet somente pode utilizar recursos do servidor
de onde veio.
APPLETS
Ciclo de vida
.init()
APPLETS
import java.applet.Applet;
import java.awt.Graphics;
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
}
APPLETS
<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>
Classes Avanadas
CLASSES AVANADAS
java.awt
Abstract Windowing Toolkit
Objetivo de fornecer as funcionalidades bsicas
presentes em todas as plataformas grficas
Componentes:
Label, Button, CheckBox, Choice, List, TextField,
MenuItem, Frame, Dialog, Panel, ...
CLASSES AVANADAS
java.net
Permite a criao de programas que comuniquem com
recursos ou outros programas em uma rede
Permite conexes TCP ou UDP
java.rmi
Remote Method Invocation
Permite que um objeto rodando em uma JVM invoque
mtodos de um objeto rodando em outra JVM
CLASSES AVANADAS
java.security
Importa a funcionalidade da criptografia, incluindo
assinaturas digitais, gerenciamento de chaves e
gerenciamento de certificados
java.sql
Permite a conexo aos sistemas de banco de dados
tradicionais, inclusive permitindo a execuo de
instrues SQL
CLASSES AVANADAS
Outras classes
Java 2D
Java 3D
Internacionalizao
Java Beans
Swing
Servlets
Java Sound
Java Media Player
Java Native Interface
Referncias
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