SlideShare uma empresa Scribd logo
Curso de Java
by Antonio Rodrigues Carvalho Neto
Variáveis de
instância
Variáveis de instância
Vamos utilizar a classe carro como
exemplo para demostrar o funcionamento
das variáveis de instância.
Carro
liga()
acelera()
frea()
float potencia
String marca
String modelo
int ano
public class Carro {
float potencia;
String marca;
String modelo;
int ano;
public void liga () {
System.out.println(“Carro ligado”);
}
public void acelera () {
System.out.println(“Acelerando”);
}
public void frea() {
System.out.println(“Freando”);
}
}
Memória da JVM
Variáveis de instância (cont...)
Variáveis locais
do método
main
herbie
Quando declaramos uma variável como sendo do tipo
Carro, a JVM apenas cria um ponteiro do tipo Carro
apontando para null.
ex.) Carro herbie;
null
Variáveis de instância (cont...)
Memória da JVMVariáveis locais
do método
main
herbie
O espaço para a instância é criado apenas quando o
construtor é invocado.
ex.) herbie = new Carro();
O trecho
new Carro()
efetivamente cria o espaço
para o objeto na memória
ano
modelomarcapotencia
O trecho
herbie =
apenas vincula a variável
herbie ao espaço do objeto
na memória
Variáveis de instância (cont...)
Memória da JVMVariáveis locais
do método
main
herbie
Quando declaramos outra variável e “igualamos” a
váriável já criada, a JVM faz com que esta variável
aponte para o mesmo endereço de memória que ja está
criado
ex.) Carro meufusca = herbie;
ano
modelomarcapotencia
meufusca
Métodos
Métodos
Os métodos representam o comportamento de
uma classe, eles são as ações que a classe
pode fazer.
Todo o método deve retornar uma informação.
Quando um método é invocado a JVM
interrompe a execução do bloco de código que
invocou o método, e começa então a executar o
bloco de código do método invocado.
Ao final da execução do bloco de código do
método, a JVM retoma a execução do bloco que
havia sido parado apartir do lugar onde parou.
Métodos (continuação)
// Declaração da classe
public class Helloworld {
// Declaração de método
public static void main( String args[]) {
System.out.println( “Ola ... “);
}
}
Modificador Tipo de retorno
do método
Nome do método
Argumentos/Parâmetros
do método
Métodos (parâmetros)
Os métodos podem receber parâmetros*, para isso é
preciso declarar os tipos e nomes dos parâmetros
dentro do parêntesis. Caso haja necessidade de receber
mais de um parâmetro, você pode colocar uma vírgula e
especificar o outro parâmetro, sempre colocando o tipo
e o nome.
...
// Declaração de método
public int quadrado( int valor ) {
return(valor * valor);
}
...
public int area( int base, int altura) {
return (base * altura);
}
Argumentos/Parâmetros
do método
* Parâmetros são informações necessárias para o método completar
suas atividades.
Métodos (parâmetros – cont...)
Quando o método for chamado, os parâmetros devem ser
especificados na mesma sequência em que foram declarados.
As informações passadas como parâmetro ficarão acessíveis pelos
nomes em que foram declarados e estarão disponíveis como
variáveis locais.
public class Matematica {
public int quadrado( int valor ) {
return ( valor * valor );
}
public int area (int base, int altura) {
return ( base * altura );
}
void imprimeTexto( String texto ) {
System.out.println(texto);
}
}
public class Teste {
public static void main (String args[]) {
Matematica m = new Matematica();
int q = m.quadrado( 10 );
System.out.println( “Quadrado de 10 é : “ + q );
int a = m.area( 20, 50 );
System.out.println( “A area do terreno é : “ + a );
m.imprimeTexto(“ A área de um terreno 20X50 é “ + a);
}
}
Métodos (Assinatura)
Assinatura do método é um conjunto de informações
que distingue-o de outro método na mesma classe. Este
conjunto de informações é composto por (tipo de
retorno, nome e parâmetros).
public void imprimeTexto( String texto ) {
System.out.println( texto );
}
Exemplo de Métodos
...
int quadrado( int valor ) {
return ( valor * valor );
}
void imprimeTexto( String texto ) {
System.out.println(“Vendido”);
}
...
Assinatura do
Método
Métodos estáticos
Os métodos também podem ser
acessados de forma estática (sem a
necessidade de criar uma instância da
classe).
Para permitir que o método seja acessado
de forma estática é preciso colocar o
modificador static na sua assinatura.
Métodos estáticos (cont...)
Quando o método for declarado como
estático ele não poderá acessar atributos
de instância do objeto.
public class Matematica {
public static int quadrado( int valor ) {
return ( valor * valor );
}
public static int area (int base, int altura) {
return ( base * altura );
}
void static imprimeTexto( String texto ) {
System.out.println(“Vendido”);
}
}
public class Teste {
public static void main (String args[]) {
int q = Matematica.quadrado( 10 );
System.out.println( “Quadrado de 10 é : “ + q );
int a = Matematica.area( 20, 50 );
System.out.println( “A area do terreno é : “ + a );
Matematica.imprimeTexto(“ A área de um terreno
20X50 é “ + a);
}
}

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Leinylson Fontinele
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
Ludimila Monjardim Casagrande
 
Java www
Java wwwJava www
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
Elaine Cecília Gatto
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
Oziel Moreira Neto
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
Felipe J. R. Vieira
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
Maurício Linhares
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
Rodrigo Cascarrolho
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
Elaine Cecília Gatto
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Daniel Brandão
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
Ludimila Monjardim Casagrande
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
Jéssica Nathany Carvalho Freitas
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
Caveiras
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
Daniel Brandão
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
Luiz Ricardo Silva
 
Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
César Augusto Pessôa
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
Elaine Cecília Gatto
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
Gardênia Santana
 
Interfaces e polimorfismo
Interfaces e polimorfismoInterfaces e polimorfismo
Interfaces e polimorfismo
Denis L Presciliano
 

Mais procurados (20)

Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
Java www
Java wwwJava www
Java www
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
Aula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCLAula 2 - Comandos DDL DML DQL E DCL
Aula 2 - Comandos DDL DML DQL E DCL
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Interfaces e polimorfismo
Interfaces e polimorfismoInterfaces e polimorfismo
Interfaces e polimorfismo
 

Destaque

Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Adriano Teixeira de Souza
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
thomasdacosta
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
thomasdacosta
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17
Loiane Groner
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
Albert Bitencourte de Lemos
 
Estrutura de Dados - Registros
Estrutura de Dados - RegistrosEstrutura de Dados - Registros
Estrutura de Dados - Registros
Adriano Teixeira de Souza
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
Marconi Rodrigues
 
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Adriano Teixeira de Souza
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
Leonardo Melo Santos
 

Destaque (9)

Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17[Curso Java Basico] Exercicios Aulas 16 17
[Curso Java Basico] Exercicios Aulas 16 17
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
 
Estrutura de Dados - Registros
Estrutura de Dados - RegistrosEstrutura de Dados - Registros
Estrutura de Dados - Registros
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
 
Conceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetosConceitos básicos de programação orientada a objetos
Conceitos básicos de programação orientada a objetos
 

Semelhante a Java orientação a objetos (variaveis de instancia e metodos)

Java5
Java5Java5
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8
PeslPinguim
 
Java annotation
Java annotationJava annotation
Java annotation
Natanael Fonseca
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
elliando dias
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
Arthur Emanuel
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.ppt
JoberthSilva
 
Aula4
Aula4Aula4
Aula4
fkimura
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
Carlos Melo
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda Expressions
Charles Fortes
 
Java8
Java8Java8
Java 06
Java 06Java 06
Java 06
samuelthiago
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Professor Samuel Ribeiro
 
Java aprendendo linguagem.ppt
Java aprendendo linguagem.pptJava aprendendo linguagem.ppt
Java aprendendo linguagem.ppt
Emerson Cardoso
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
Gabriel Faustino
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
Artur Todeschini
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptx
JoberthSilva
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
Moises Omena
 
Java4
Java4Java4

Semelhante a Java orientação a objetos (variaveis de instancia e metodos) (20)

Java5
Java5Java5
Java5
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8
 
Java annotation
Java annotationJava annotation
Java annotation
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.ppt
 
Aula4
Aula4Aula4
Aula4
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
 
Lambda Expressions
Lambda ExpressionsLambda Expressions
Lambda Expressions
 
Java8
Java8Java8
Java8
 
Java 06
Java 06Java 06
Java 06
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
Java aprendendo linguagem.ppt
Java aprendendo linguagem.pptJava aprendendo linguagem.ppt
Java aprendendo linguagem.ppt
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptx
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Java4
Java4Java4
Java4
 

Mais de Armando Daniel

Java code conventions
Java code conventionsJava code conventions
Java code conventions
Armando Daniel
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
Armando Daniel
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
Armando Daniel
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
Armando Daniel
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
Armando Daniel
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
Armando Daniel
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
Armando Daniel
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
Armando Daniel
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)
Armando Daniel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
Armando Daniel
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
Armando Daniel
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
Armando Daniel
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
Armando Daniel
 

Mais de Armando Daniel (14)

Java code conventions
Java code conventionsJava code conventions
Java code conventions
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
 
Java orientação a objetos (introdução)
Java   orientação a objetos (introdução)Java   orientação a objetos (introdução)
Java orientação a objetos (introdução)
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 

Java orientação a objetos (variaveis de instancia e metodos)

  • 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  • 3. Variáveis de instância Vamos utilizar a classe carro como exemplo para demostrar o funcionamento das variáveis de instância. Carro liga() acelera() frea() float potencia String marca String modelo int ano public class Carro { float potencia; String marca; String modelo; int ano; public void liga () { System.out.println(“Carro ligado”); } public void acelera () { System.out.println(“Acelerando”); } public void frea() { System.out.println(“Freando”); } }
  • 4. Memória da JVM Variáveis de instância (cont...) Variáveis locais do método main herbie Quando declaramos uma variável como sendo do tipo Carro, a JVM apenas cria um ponteiro do tipo Carro apontando para null. ex.) Carro herbie; null
  • 5. Variáveis de instância (cont...) Memória da JVMVariáveis locais do método main herbie O espaço para a instância é criado apenas quando o construtor é invocado. ex.) herbie = new Carro(); O trecho new Carro() efetivamente cria o espaço para o objeto na memória ano modelomarcapotencia O trecho herbie = apenas vincula a variável herbie ao espaço do objeto na memória
  • 6. Variáveis de instância (cont...) Memória da JVMVariáveis locais do método main herbie Quando declaramos outra variável e “igualamos” a váriável já criada, a JVM faz com que esta variável aponte para o mesmo endereço de memória que ja está criado ex.) Carro meufusca = herbie; ano modelomarcapotencia meufusca
  • 8. Métodos Os métodos representam o comportamento de uma classe, eles são as ações que a classe pode fazer. Todo o método deve retornar uma informação. Quando um método é invocado a JVM interrompe a execução do bloco de código que invocou o método, e começa então a executar o bloco de código do método invocado. Ao final da execução do bloco de código do método, a JVM retoma a execução do bloco que havia sido parado apartir do lugar onde parou.
  • 9. Métodos (continuação) // Declaração da classe public class Helloworld { // Declaração de método public static void main( String args[]) { System.out.println( “Ola ... “); } } Modificador Tipo de retorno do método Nome do método Argumentos/Parâmetros do método
  • 10. Métodos (parâmetros) Os métodos podem receber parâmetros*, para isso é preciso declarar os tipos e nomes dos parâmetros dentro do parêntesis. Caso haja necessidade de receber mais de um parâmetro, você pode colocar uma vírgula e especificar o outro parâmetro, sempre colocando o tipo e o nome. ... // Declaração de método public int quadrado( int valor ) { return(valor * valor); } ... public int area( int base, int altura) { return (base * altura); } Argumentos/Parâmetros do método * Parâmetros são informações necessárias para o método completar suas atividades.
  • 11. Métodos (parâmetros – cont...) Quando o método for chamado, os parâmetros devem ser especificados na mesma sequência em que foram declarados. As informações passadas como parâmetro ficarão acessíveis pelos nomes em que foram declarados e estarão disponíveis como variáveis locais. public class Matematica { public int quadrado( int valor ) { return ( valor * valor ); } public int area (int base, int altura) { return ( base * altura ); } void imprimeTexto( String texto ) { System.out.println(texto); } } public class Teste { public static void main (String args[]) { Matematica m = new Matematica(); int q = m.quadrado( 10 ); System.out.println( “Quadrado de 10 é : “ + q ); int a = m.area( 20, 50 ); System.out.println( “A area do terreno é : “ + a ); m.imprimeTexto(“ A área de um terreno 20X50 é “ + a); } }
  • 12. Métodos (Assinatura) Assinatura do método é um conjunto de informações que distingue-o de outro método na mesma classe. Este conjunto de informações é composto por (tipo de retorno, nome e parâmetros). public void imprimeTexto( String texto ) { System.out.println( texto ); } Exemplo de Métodos ... int quadrado( int valor ) { return ( valor * valor ); } void imprimeTexto( String texto ) { System.out.println(“Vendido”); } ... Assinatura do Método
  • 13. Métodos estáticos Os métodos também podem ser acessados de forma estática (sem a necessidade de criar uma instância da classe). Para permitir que o método seja acessado de forma estática é preciso colocar o modificador static na sua assinatura.
  • 14. Métodos estáticos (cont...) Quando o método for declarado como estático ele não poderá acessar atributos de instância do objeto. public class Matematica { public static int quadrado( int valor ) { return ( valor * valor ); } public static int area (int base, int altura) { return ( base * altura ); } void static imprimeTexto( String texto ) { System.out.println(“Vendido”); } } public class Teste { public static void main (String args[]) { int q = Matematica.quadrado( 10 ); System.out.println( “Quadrado de 10 é : “ + q ); int a = Matematica.area( 20, 50 ); System.out.println( “A area do terreno é : “ + a ); Matematica.imprimeTexto(“ A área de um terreno 20X50 é “ + a); } }