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

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

  • 1.
    Curso de Java byAntonio Rodrigues Carvalho Neto
  • 2.
  • 3.
    Variáveis de instância Vamosutilizar 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áveisde 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
  • 7.
  • 8.
    Métodos Os métodos representamo 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çãoda 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étodospodem 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 domé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étodostambé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...) Quandoo 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); } }