SlideShare a Scribd company logo
1 of 14
Download to read offline
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);
}
}

More Related Content

What's hot

Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOAndré Victor
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5César Augusto Pessôa
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosLudimila Monjardim Casagrande
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Javabackdoor
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaDaniel Brandão
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe ScannerLoiane Groner
 

What's hot (20)

Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
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)
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
Aula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem JavaAula 2 - POO: Fundamentos da linguagem Java
Aula 2 - POO: Fundamentos da linguagem Java
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
[Curso Java Basico] Aula 12: Lendo dados do teclado usando a classe Scanner
 

Viewers also liked

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 2thomasdacosta
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
[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 17Loiane Groner
 
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 ObjetoMarconi 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êneasAdriano 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 objetosLeonardo Melo Santos
 

Viewers also liked (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
 

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

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
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael 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 JavaArthur Emanuel
 
Herança e Polimorfismo.ppt
Herança e Polimorfismo.pptHerança e Polimorfismo.ppt
Herança e Polimorfismo.pptJoberthSilva
 
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 classesCarlos Melo
 
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.pptEmerson Cardoso
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
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 bibliotecasMaurício Linhares
 
Construtores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxConstrutores_Sobrecarga.pptx
Construtores_Sobrecarga.pptxJoberthSilva
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 

Similar to 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
 

More from Armando Daniel

Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connectionArmando Daniel
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filtersArmando 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) - exerciciosArmando 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 javaArmando Daniel
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipseArmando Daniel
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layoutsArmando Daniel
 
Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizesArmando Daniel
 

More from Armando Daniel (13)

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 (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); } }