O documento descreve os conceitos de variáveis de instância e métodos em Java. Explica que variáveis de instância armazenam dados específicos de cada objeto e são criadas quando um objeto é instanciado. Também descreve que métodos representam o comportamento de uma classe e podem receber parâmetros, retornar valores e acessar variáveis de instância.
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);
}
}