Universidade de Taubaté
Departamento de Informática
Métodos Estáticos
Profa. Ma. Alindacir Mª Dalla Vecchia Grassi - linda_grassi@[Link]
1
Métodos Estáticos ou Métodos da Classe
Conceito:
• Métodos estáticos são aqueles que podem ser invocados para a
classe e não para as instâncias (objetos) da classe.
• Exemplos de métodos estáticos, em Java, incluem os métodos
para manipulação de tipos primitivos definidos nas classes
Integer e Double, todas elas do pacote [Link], os definidos
para a classe Math, os da classe JOptionPane ([Link]),
dentre outros.
[Link](String s);
[Link](double a, double b);
[Link](...);
2
Métodos Estáticos
• Métodos estáticos são aqueles que podem ser invocados para a
classe e não para as instâncias (objetos) da classe.
• Quando acionados executam uma função sem a dependência do
conteúdo de um objeto ou a execução da instância de uma
classe, conseguindo chamar direto qualquer método da classe e
também manipulando alguns campos da classe.
• Métodos estáticos não podem acessar variáveis de instância
(atributos não estáticos).
• Métodos estáticos só podem acionar métodos estáticos.
3
Métodos Estáticos ou Métodos da Classe
• Um método estático pode ser executado sem que haja um objeto
instanciado
public static <tipo-retorno> <nome>(parâmetros){ }
public static int maior(int num1, int num2, int num3){
//Conjunto de instruções
}
4
Métodos Estáticos
package exemplousometodosestaticos;
public class MetodosDiversos {
public static int maior(int num1, int num2, int num3){
int maior;
if (num1 > num2){
maior=num1;
}else{
maior = num2;
}
if (num3>maior){
maior=num3;
}
return maior;
}
}
5
Métodos Estáticos
package exemplousometodosestaticos;
import [Link];
public class ExemploUsoMetodosEstaticos {
public static void main(String[] args) {
int n1 = [Link]([Link](null, "Informe o 1º número",
"Exemplo uso de método estático", 3));
int n2 = [Link]([Link](null, "Informe o 2º número",
"Exemplo uso de método estático", 3));
int n3 = [Link]([Link](null, "Informe o 3º número",
"Exemplo uso de método estático", 3));
[Link](null, "O maior valor é: " + [Link](n1, n2, n3),
"Exemplo Método Estático", 1);
}
} Método
Classe
6
Atributos Estáticos
Conceito:
⚫ Há situações onde o valor de um atributo deve ser compartilhado entre
todas as instâncias de uma classe;
⚫ Exemplo: gerar o código da matrícula, automaticamente e de forma
sequencial, para cada aluno matriculados;
⚫ Nessas situações, utiliza-se atributos estáticos, ou seja, atributos que
podem ser usados para compartilhar valores entre todas as instâncias
de uma classe e para definir valores constantes que podem ser usados
em qualquer classe;
⚫ Um atributo estático é compartilhado com todos os objetos instâncias
de uma classe;
7
Atributos Estáticos
public class Aluno {
private static int matricula;
private String nome;
public Aluno(String nome) {
[Link] = nome;
matricula++;
}
public int getMatricula() { return matricula; }
public String getNome() { return nome; }
public void setNome(String nome) { [Link] = nome; }
}
8
Atributos Estáticos
public class AlunoApp {
public static void main(String[] args) {
Aluno aluno;
int continua;
do{
String nome=[Link](null,"Digite o nome do aluno","Cadastro",3);
aluno=new Aluno(nome);
[Link](null, "Dados:\n"+
"Matricula: "+[Link]()+
"\nNome: "+[Link](),"Cadastro",1);
continua=[Link](null, "Deseja cadastrar outro
aluno?","Cadastro", JOptionPane.YES_NO_OPTION,3);
} while (continua==0);
[Link](0);
}
}