4. Java
• Não gera um arquivo binário e sim um arquivo
com bytecodes
• Bytecode é a linguagem da máquina virtual
(JVM)
• A JVM interpreta os bytecodes e os
transforma em linguagem nativa
Sun Confidential: Internal Only 4
7. JRE x JDK
• JDK - desenvolvimento
• JRE - execução
Sun Confidential: Internal Only 7
8. Por que usar Java?
• Plataforma independente
• Mais de 5 bilhões de dispositivos com Java
• Mais de 6 milhões de desenvolvedores pelo
mundo
• Comunidade MUITO GRANDE
• Open Source
• IDE NetBeans
Sun Confidential: Internal Only 8
9. O que é o Netbeans?
Sun Confidential: Internal Only 9
10. O que é o NetBeans?
• Um IDE multi-linguagens
• Uma plataforma para construir aplicações
• Uma comunidade Open Source de sucesso
• Muito fácil de usar
Footnote position, 12 pts.
Sun Confidential: Internal Only 10
11. O que é o NetBeans?
Tecnologias suportadas... Algumas bem populares ;)
Ajax Java EE SOA
C/C++ Java ME UML
JSF Java SE Web
JSP Javascript WSDL
CSS PHP XML
SQL HTML MIDP
JavaDB REST CLDC
MySQL CVS CDC
PostgreSQL SVN EJB
JDBC Rich Client Platform JAX-WS
Ant Ruby JSTL
E muito mais...
Sun Confidential: Internal Only 11
12. O que é o NetBeans?
Profiler
Sun Confidential: Internal Only 12
13. O que é o NetBeans?
Desenvolvimento para dispositivos móveis
Suporte para Java ME – CLDC/CDC
Sun Wireless Toolkit incluso
Desenvolvimento Visual para celulares
Novo contrutor de games que suporta
MIDP 2.0 Game API
Suporte para SVG UI
Sun Confidential: Internal Only 13
14. O que é o NetBeans?
Desenvolvimento C/C++
Full Edit-Compile-Debug project
support and editor
Complementação de código, mecanismo
de busca de linha de código, etc.
Desenvolvimento Remoto
Suporte para aplicações
empacotadas
Trabalha com GCC & Compilador
Sun Studio
Sun Confidential: Internal Only 14
15. O que é o NetBeans?
Novidades > Visual Web Development
Desenvolvimento Web Visual com
drag 'n drop
Inclui componentes AJAX e
JavaServer Faces
Navegação de páginas Visual
Editor CSS Visual
Sun Confidential: Internal Only 15
16. O que é o NetBeans?
Novidades > O Editor
Sun Confidential: Internal Only 16
17. O que é o NetBeans?
Novidades > PHP
Sun Confidential: Internal Only 17
18. O que é o NetBeans?
Novidades > Ruby
Suporte para Ruby e Jruby
Melohras no editor
Complementação de código
Suporte para Ruby, RSpec, e
arquivos YAML
Geração de projetos Rails
Agente de instalação Ruby Gems
Debugger
Suporte à WEBrick, Mongrel,
GlassFish
Sun Confidential: Internal Only 18
19. O que é o NetBeans?
Novidades > Python
Sun Confidential: Internal Only 19
20. O que é o NetBeans?
Em qual SO posso rodá-lo?
Arquivos binários para Solaris, Linux, MS Windows, e
Mac OSX
100% Java
Apenas baixe e rode em qualquer OS com uma JRE!
Sun Confidential: Internal Only 20
21. História do
Orientação a
Solaris e
Objetos
OpenSolaris
Sun Confidential: Internal Only 21
22. Programação Procedural
• Problema da validação do CPF
• Repetição de código
• Pouca reutilização
• Dificuldade na manutenção
Sun Confidential: Internal Only 22
23. Programação Orientada a Objetos
• Modela o mundo real com classes e objetos
• Classe → especificação para os objetos
• Objeto → instância de uma classe
• Com exemplos é mais fácil!!!
Sun Confidential: Internal Only 23
27. Criando uma classe
O que toda conta bancária tem?
• Número
• Nome cliente
• Saldo
• Limite
Sun Confidential: Internal Only 27
28. Criando uma classe
O que toda conta é capaz de fazer?
• Sacar
• Depositar
• Verificar saldo
Sun Confidential: Internal Only 28
29. 1º. Registre-se e baixe o projeto
• http://osum.sun.com/group/unesprc
• http://osum.sun.com/group/uniararas
• http://osum.sun.com/group/asserrc
• http://osum.sun.com/group/etebayeux
Sun Confidential: Internal Only 29
30. 2º. Download!
• Tópico → Palestra: Java e Orientação a
Objetos
Sun Confidential: Internal Only 30
31. 3º. Abrir o projeto com o NetBeans
Sun Confidential: Internal Only 31
32. Implementação em Java
public class Conta {
int numero;
String nome;
double saldo;
double limite;
Sun Confidential: Internal Only 32
33. Implementação em Java
public void sacar(int quantidade) {
saldo = saldo – quantidade;
}
public void depositar(int quantidade) {
saldo = saldo + quantidade;
}
}
Sun Confidential: Internal Only 33
35. Testando a classe Conta
public class Main {
public static void main(String[] args) {
Conta c;
c = new Conta();
c.saldo = 10000;
c.sacar(1000);
System.out.println(“Saldo atual = “ + c.saldo);
}
}
Sun Confidential: Internal Only 35
36. Criando classes
2 tipos de contas:
• Básica
Limite = 0
• Premium
Limite = - 200
Transferência
Sun Confidential: Internal Only 36
37. Criando classes
• A conta Básica É-UM tipo de Conta
• A conta Premium É-UM tipo de Conta
• “É-UM” se refere à Herança
Sun Confidential: Internal Only 37
38. Implementação em Java
public class ContaBasica extends Conta {
}
public class ContaPremium extends Conta {
public void transferir(Conta a, Conta b) {
//realiza transferência
}
} Sun Confidential: Internal Only 38
39. Mas e o limite?
• Utilizaremos a sobrescrição
• ContaBasica e ContaPremium implementarão
o seu próprio método sacar baseado no limite
da conta
• O método da subclasse sobrescreverá o
método da superclasse
Sun Confidential: Internal Only 39
40. Mas e o limite?
• Na ContaBasica adicione:
public void sacar(int quantidade) {
/*
if (condição com limite = 0) {
realiza o saque
}
*/
}
Sun Confidential: Internal Only 40
41. Mas e o limite?
• Na ContaPremium adicione:
public void sacar(int quantidade) {
/*
if (condição com limite = - 200) {
realiza o saque
}
*/
}
Sun Confidential: Internal Only 41
42. Juntando tudo
public class Main {
public static void main(String[] args) {
ContaBasica c1 = new ContaBasica();
c1.sacar(100); //limite = 0
ContaPremium c2 = new ContaPremium();
c2.sacar(100); //limite = - 200
}
}
Sun Confidential: Internal Only 42
44. E agora, quem poderá me ajudar?
• Apostila fj-11 Caelum:
www.caelum.com.br
• Treinamentos Sun → SAI (instruções para acesso
em http://osum.sun.com/group/unesprc)
• Grupo de Java: www.javanoroeste.com.br
E-mail: javanoroeste-subscribe@googlegroups.com
• Fóruns: www.guj.com.br, www.javafree.org
Sun Confidential: Internal Only 44
45. E depois?
• Certificação SCJP
• Java para Web – jsp + servlets, JSF
• J2ME
• ...
Sun Confidential: Internal Only 45
46. Obrigado!
João Sávio Ceregatti Longo
joao.savio@sun.com / joaosavio@gmail.com
www.joaosavio.com / http://blogs.sun.com/joaosavio
46