SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Programação Orientada a Objetos




    Atributos e Métodos Estáticos




           Ludimila Monjardim Casagrande
                       2012
Instâncias e Classes

      Objetos são instâncias de uma classe. Sendo
          assim, vários objetos de um mesmo “tipo” ou classe
          podem ser criados e cada instância terá uma cópia
          de todos os atributos declarados na classe.

      As instâncias de uma classe são, portanto,
          independentes entre si:
             a modificação do campo saldo de uma instância da
              classe Conta não afeta o valor do mesmo campo em
              outra instância da classe.


Elementos Estáticos       ©2012 Ludimila Monjardim Casagrande    2
Atributos Estáticos

      Sendo assim, como seria possível compartilhar uma
          informação entre todas as instâncias de uma classe?
      Uma forma de promover o compartilhamento de uma
          mesma variável e de seu valor entre as várias instâncias
          de uma classe é declarando essa variável de classe
          como estática (static).
      Em outras palavras, atributos ou campos estáticos de
          uma classe são compartilhados por todas as instâncias
          dessa classe e se o valor de um campo estático for
          modificado por uma das instâncias, a modificação será
          refletida em todas as instâncias da mesma classe.

Elementos Estáticos        ©2012 Ludimila Monjardim Casagrande       3
Atributos Estáticos

      Atributos estáticos são declarados com o
          modificador static, que deve ser posicionado antes
          do tipo do atributo e pode ser combinado com os
          modificadores de acesso public, private ou
          protected.

      Atributos estáticos são também conhecidos como
          atributos de classe, por poderem ser acessados
          diretamente usando o nome da classe, isto é, sem
          que uma instância tenha sido criada.


Elementos Estáticos      ©2012 Ludimila Monjardim Casagrande   4
Atributos Não-Estáticos

      Ao contrário dos atributos estáticos, os atributos
          que podem ter diferentes valores para cada
          instância da mesma classe são conhecidos
          como atributos de instância.

      Para a manipulação desses campos é
          necessária a criação de uma instância da classe
          e a existência de uma referência para tal
          instância.


Elementos Estáticos     ©2012 Ludimila Monjardim Casagrande   5
Ciclo de Vida de Atributos Estáticos

      As variáveis correspondentes a atributos
          estáticos são criadas no momento da carga da
          classe e são destruídas ao término da execução
          da aplicação.
      A carga ocorre na primeira vez em que a classe
          é utilizada.
      Exemplo:
          System.out.println("Número de participantes: "
                            + Participante.contador);


Elementos Estáticos        ©2012 Ludimila Monjardim Casagrande   6
Exemplo
   public class Participante {
        public static int contador;                  Atributo declarado como estático
        public Participante(){
           contador++;
        }

        public static int getContador() { A variável contador deve armazenar
          return contador;                o número de participantes existentes,
        }                                 isto é, o número de objetos desta
   }                                             classe que foram criados.

   Ela deve funcionar como uma variável
   global, cujo valor é compartilhado entre
   todas as instâncias.

Elementos Estáticos          ©2012 Ludimila Monjardim Casagrande                        7
Exemplo
  public class Principal {
          public static void main(String[] args) {
            System.out.println("Número de participantes: "
                                 + Participante.contador);
            Participante p1 = new Participante();
            Participante p2 = new Participante();
            System.out.println("Número de participantes: "
                                 + Participante.contador);
      }
  }
                      Atributo sendo acessado diretamente pelo nome da classe

                  Isso é possivel quando os atributos ou métodos são estáticos

Elementos Estáticos                ©2012 Ludimila Monjardim Casagrande           8
Métodos Estáticos

      Devem ser declarados como estáticos métodos:
             que somente manipulam variáveis estáticas ou
             que implementam rotinas que sejam
              independentes de dados armazenados em
              instâncias, ou seja, métodos que só necessitem
              dos dados passados como argumentos para
              efetuar a tarefa requerida e que produzem o
              mesmo resultado independentemente de qual
              instância da classe tenha sido usada para sua
              chamada.

Elementos Estáticos       ©2012 Ludimila Monjardim Casagrande   9
Métodos Estáticos

      Métodos estáticos também são declarados pelo uso
          do modificador static, que deve preceder o tipo de
          retorno do método e que pode ser combinado com os
          modificadores aplicáveis ao método.
      Os métodos estáticos (também conhecidos como
          métodos de classe) também podem ser chamados
          sem a necessidade de criação de uma instância da
          classe à qual pertencem.
             Isso é o que os diferenciam dos métodos não-
              estáticos.


Elementos Estáticos        ©2012 Ludimila Monjardim Casagrande   10
Métodos Estáticos

      O método main é um método estático, que permite
          que uma classe seja executada como uma
          aplicação ou programa.

      Não é necessário criar uma instância da classe que
          contém o método main para que ele seja
          executado.

      Métodos estáticos podem ser usados em classes
          que contenham o método main para servirem como
          sub-rotinas deste.

Elementos Estáticos     ©2012 Ludimila Monjardim Casagrande   11
Métodos e Atributos Estáticos

      Métodos estáticos só podem acessar ou chamar
          diretamente (sem uma instância) variáveis ou
          métodos também estáticos.
      Sendo assim:
             Se um método for chamado diretamente a partir do
              método main, este método deverá ser obrigatoriamente
              declarado como estático.

             Se o método main for acessar campos declarados na sua
              classe mas fora do método main, estes campos também
              deverão ser declarados como estáticos.


Elementos Estáticos         ©2012 Ludimila Monjardim Casagrande       12
Exemplo
  public class ConversorDeUnidades {

      public static double milhasParaQuilometros(double milhas) {
        double quilometros = milhas*1.609;
        return quilometros;
      }

      public static void main(String[] args){
        double milhas = 100;
        double quilometros = milhasParaQuilometros(milhas);
        System.out.println(milhas + " milhas correspondem a " +
                           quilometros + " quilômetros.");
      }
  }

Elementos Estáticos       ©2012 Ludimila Monjardim Casagrande       13
O Modificador: final

      O modificador final pode ser aplicado a
          variáveis, métodos e classes.

      O significado de final varia de acordo com o
          elemento ao qual ele é aplicado.

      Porém a idéia essencial é sempre a mesma:
          elementos declarados como final não podem ser
          modificados.


Elementos Estáticos     ©2012 Ludimila Monjardim Casagrande   14
O Modificador: final

      Sendo assim:
             Variáveis declaradas como final correspondem a
              constantes, pois seu valor inicial não pode ser
              alterado.

             Um método final não pode ser sobrescrito (pelas
              subclasses).

             Uma classe final não pode ter subclasses.



Elementos Estáticos       ©2012 Ludimila Monjardim Casagrande   15
Exemplo
 public class ConstantesMatematicas {
      // Declaração dos campos da classe
      // raiz quadrada de 2
      public static final double RAIZ_DE_2 = 1.4142135623730950488;
      // raiz quadrada de 3
      public static final double RAIZ_DE_3 = 1.7320508075688772935;
      // raiz quadrada de 5
      final static public double RAIZ_DE_5 = 2.2360679774997896964;
      // raiz quadrada de 6: podemos usar as constantes já definidas
      static final public double RAIZ_DE_6 = RAIZ_DE_2 * RAIZ_DE_3;
 }


Elementos Estáticos        ©2012 Ludimila Monjardim Casagrande         16

Más contenido relacionado

La actualidad más candente

Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
Armando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 

La actualidad más candente (20)

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
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
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
 
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)
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
JAVA - Herança
JAVA - HerançaJAVA - Herança
JAVA - Herança
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 

Destacado

Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)
Robson Silva Espig
 

Destacado (13)

Programacao em java
Programacao em javaProgramacao em java
Programacao em java
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
Enquadramento teórico
Enquadramento teóricoEnquadramento teórico
Enquadramento teórico
 
LBJ LIÇÃO 2 - O PRIMEIRO PROBLEMA ENFRENTADO EM FAMÍLIA
LBJ LIÇÃO 2 - O PRIMEIRO PROBLEMA ENFRENTADO EM FAMÍLIALBJ LIÇÃO 2 - O PRIMEIRO PROBLEMA ENFRENTADO EM FAMÍLIA
LBJ LIÇÃO 2 - O PRIMEIRO PROBLEMA ENFRENTADO EM FAMÍLIA
 
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
POO - Unidade 1 (parte 2) - Orientação a Objetos com Java e UML (versão 4)
 
Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Características da Ginástica Acrobática
Características da Ginástica AcrobáticaCaracterísticas da Ginástica Acrobática
Características da Ginástica Acrobática
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
Módulo+8 iat
Módulo+8   iatMódulo+8   iat
Módulo+8 iat
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Etapas da pesquisa científica
Etapas da pesquisa científicaEtapas da pesquisa científica
Etapas da pesquisa científica
 

Similar a POO - 19 - Elementos Estáticos

Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
Regis Magalhães
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
Denis L Presciliano
 
Script c
Script cScript c
Script c
Raphael
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
PeslPinguim
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
Sérgio Souza Costa
 
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
 

Similar a POO - 19 - Elementos Estáticos (20)

Programação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxProgramação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptx
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Aula4
Aula4Aula4
Aula4
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Script c
Script cScript c
Script c
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++Paradigma orientado a objetos - Caso de Estudo C++
Paradigma orientado a objetos - Caso de Estudo C++
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Refactoring
RefactoringRefactoring
Refactoring
 
Java11
Java11Java11
Java11
 
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
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 

Más de Ludimila Monjardim Casagrande (11)

Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em JavaPOO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de DesenvolvimentoPOO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em JavaPOO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
 
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
 

POO - 19 - Elementos Estáticos

  • 1. Programação Orientada a Objetos Atributos e Métodos Estáticos Ludimila Monjardim Casagrande 2012
  • 2. Instâncias e Classes  Objetos são instâncias de uma classe. Sendo assim, vários objetos de um mesmo “tipo” ou classe podem ser criados e cada instância terá uma cópia de todos os atributos declarados na classe.  As instâncias de uma classe são, portanto, independentes entre si:  a modificação do campo saldo de uma instância da classe Conta não afeta o valor do mesmo campo em outra instância da classe. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 2
  • 3. Atributos Estáticos  Sendo assim, como seria possível compartilhar uma informação entre todas as instâncias de uma classe?  Uma forma de promover o compartilhamento de uma mesma variável e de seu valor entre as várias instâncias de uma classe é declarando essa variável de classe como estática (static).  Em outras palavras, atributos ou campos estáticos de uma classe são compartilhados por todas as instâncias dessa classe e se o valor de um campo estático for modificado por uma das instâncias, a modificação será refletida em todas as instâncias da mesma classe. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 3
  • 4. Atributos Estáticos  Atributos estáticos são declarados com o modificador static, que deve ser posicionado antes do tipo do atributo e pode ser combinado com os modificadores de acesso public, private ou protected.  Atributos estáticos são também conhecidos como atributos de classe, por poderem ser acessados diretamente usando o nome da classe, isto é, sem que uma instância tenha sido criada. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 4
  • 5. Atributos Não-Estáticos  Ao contrário dos atributos estáticos, os atributos que podem ter diferentes valores para cada instância da mesma classe são conhecidos como atributos de instância.  Para a manipulação desses campos é necessária a criação de uma instância da classe e a existência de uma referência para tal instância. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 5
  • 6. Ciclo de Vida de Atributos Estáticos  As variáveis correspondentes a atributos estáticos são criadas no momento da carga da classe e são destruídas ao término da execução da aplicação.  A carga ocorre na primeira vez em que a classe é utilizada.  Exemplo: System.out.println("Número de participantes: " + Participante.contador); Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 6
  • 7. Exemplo public class Participante { public static int contador; Atributo declarado como estático public Participante(){ contador++; } public static int getContador() { A variável contador deve armazenar return contador; o número de participantes existentes, } isto é, o número de objetos desta } classe que foram criados. Ela deve funcionar como uma variável global, cujo valor é compartilhado entre todas as instâncias. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 7
  • 8. Exemplo public class Principal { public static void main(String[] args) { System.out.println("Número de participantes: " + Participante.contador); Participante p1 = new Participante(); Participante p2 = new Participante(); System.out.println("Número de participantes: " + Participante.contador); } } Atributo sendo acessado diretamente pelo nome da classe Isso é possivel quando os atributos ou métodos são estáticos Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 8
  • 9. Métodos Estáticos  Devem ser declarados como estáticos métodos:  que somente manipulam variáveis estáticas ou  que implementam rotinas que sejam independentes de dados armazenados em instâncias, ou seja, métodos que só necessitem dos dados passados como argumentos para efetuar a tarefa requerida e que produzem o mesmo resultado independentemente de qual instância da classe tenha sido usada para sua chamada. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 9
  • 10. Métodos Estáticos  Métodos estáticos também são declarados pelo uso do modificador static, que deve preceder o tipo de retorno do método e que pode ser combinado com os modificadores aplicáveis ao método.  Os métodos estáticos (também conhecidos como métodos de classe) também podem ser chamados sem a necessidade de criação de uma instância da classe à qual pertencem.  Isso é o que os diferenciam dos métodos não- estáticos. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 10
  • 11. Métodos Estáticos  O método main é um método estático, que permite que uma classe seja executada como uma aplicação ou programa.  Não é necessário criar uma instância da classe que contém o método main para que ele seja executado.  Métodos estáticos podem ser usados em classes que contenham o método main para servirem como sub-rotinas deste. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 11
  • 12. Métodos e Atributos Estáticos  Métodos estáticos só podem acessar ou chamar diretamente (sem uma instância) variáveis ou métodos também estáticos.  Sendo assim:  Se um método for chamado diretamente a partir do método main, este método deverá ser obrigatoriamente declarado como estático.  Se o método main for acessar campos declarados na sua classe mas fora do método main, estes campos também deverão ser declarados como estáticos. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 12
  • 13. Exemplo public class ConversorDeUnidades { public static double milhasParaQuilometros(double milhas) { double quilometros = milhas*1.609; return quilometros; } public static void main(String[] args){ double milhas = 100; double quilometros = milhasParaQuilometros(milhas); System.out.println(milhas + " milhas correspondem a " + quilometros + " quilômetros."); } } Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 13
  • 14. O Modificador: final  O modificador final pode ser aplicado a variáveis, métodos e classes.  O significado de final varia de acordo com o elemento ao qual ele é aplicado.  Porém a idéia essencial é sempre a mesma: elementos declarados como final não podem ser modificados. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 14
  • 15. O Modificador: final  Sendo assim:  Variáveis declaradas como final correspondem a constantes, pois seu valor inicial não pode ser alterado.  Um método final não pode ser sobrescrito (pelas subclasses).  Uma classe final não pode ter subclasses. Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 15
  • 16. Exemplo public class ConstantesMatematicas { // Declaração dos campos da classe // raiz quadrada de 2 public static final double RAIZ_DE_2 = 1.4142135623730950488; // raiz quadrada de 3 public static final double RAIZ_DE_3 = 1.7320508075688772935; // raiz quadrada de 5 final static public double RAIZ_DE_5 = 2.2360679774997896964; // raiz quadrada de 6: podemos usar as constantes já definidas static final public double RAIZ_DE_6 = RAIZ_DE_2 * RAIZ_DE_3; } Elementos Estáticos ©2012 Ludimila Monjardim Casagrande 16