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 potenciaString marcaString 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 trechonew 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 classepublic class Helloworld {
// Declaração de métodopublic static void main( String args[]) {
System.out.println( “Ola ... “);}
}
Modificador Tipo de retornodo método
Nome do método
Argumentos/Parâmetrosdo 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étodopublic int quadrado( int valor ) {
return(valor * valor);}
...
public int area( int base, int altura) { return (base * altura);
}
Argumentos/Parâmetrosdo 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 terreno20X50 é “ + a);
}}
Top Related