Método Java estático, variável e bloco com exemplo

Índice:

Anonim

A estática pode ser:

  1. Variáveis ​​Estáticas
  2. Métodos estáticos
  3. Blocos de código estáticos.

Vamos examinar as variáveis ​​estáticas e os métodos estáticos primeiro.

O que é variável estática em Java?

A variável estática em Java é uma variável que pertence à classe e inicializada apenas uma vez no início da execução. É uma variável que pertence à classe e não ao objeto (instância). Variáveis ​​estáticas são inicializadas apenas uma vez, no início da execução. Essas variáveis ​​serão inicializadas primeiro, antes da inicialização de quaisquer variáveis ​​de instância.

  • Uma única cópia a ser compartilhada por todas as instâncias da classe
  • Uma variável estática pode ser acessada diretamente pelo nome da classe e não precisa de nenhum objeto

Sintaxe:

< class-name>. 

O que é o método estático em Java?

O método estático em Java é um método que pertence à classe e não ao objeto. Um método estático pode acessar apenas dados estáticos. É um método que pertence à classe e não ao objeto (instância). Um método estático pode acessar apenas dados estáticos. Ele não pode acessar dados não estáticos (variáveis ​​de instância).

  • Um método estático pode chamar apenas outros métodos estáticos e não pode chamar um método não estático a partir dele.
  • Um método estático pode ser acessado diretamente pelo nome da classe e não precisa de nenhum objeto
  • Um método estático não pode se referir a "isto" ou "super" palavras-chave de forma alguma

Sintaxe:

< class-name>. 

Observação: o método principal é estático, pois deve estar acessível para que um aplicativo seja executado antes que qualquer instanciação ocorra.

Vamos aprender as nuances das palavras-chave estáticas fazendo alguns exercícios!

Exemplo: como chamar variáveis ​​e métodos estáticos

Etapa 1) Copie o seguinte código em um editor

public class Demo {public static void main (String args []) {Aluno s1 = novo Aluno ();s1.showData ();Aluno s2 = novo Aluno ();s2.showData ();//Student.b++;//s1.showData ();}}class Student {int a; // inicializado em zerostatic int b; // inicializado em zero apenas quando a classe é carregada, não para cada objeto criado.Aluna(){// Construtor incrementando a variável estática bb ++;}public void showData () {System.out.println ("Valor de a =" + a);System.out.println ("Valor de b =" + b);}// public static void increment () {// a ++;//}}

Etapa 2) Salvar e compilar o código. Execute o código como java Demo .
Etapa 3) A saída esperada é mostrada abaixo


O diagrama a seguir mostra como as variáveis ​​e objetos de referência são criados e as variáveis ​​estáticas são acessadas pelas diferentes instâncias.


Etapa 4) É possível acessar uma variável estática de fora da classe usando a sintaxe ClassName.Variable_Name . Remova o comentário das linhas 7 e 8. Salvar, compilar e executar. Observe a saída.

Value of a = 0Value of b = 1Value of a = 0Value of b = 2Value of a = 0Value of b = 3
Etapa 5) Descomente as linhas 25,26 e 27. Salvar, compilar e executar.
error: non-static variable a cannot be referenced from a static context a++;

Etapa 6) Erro =? Isso ocorre porque não é possível acessar a variável de instância " a " do método de classe estática java " incremento ".

O que é bloco estático em Java?

O bloco estático é um bloco de instrução dentro de uma classe Java que será executado quando uma classe for carregada pela primeira vez na JVM. Um bloco estático ajuda a inicializar os membros de dados estáticos , assim como os construtores ajudam a inicializar os membros da instância.

class Test{static {//Code goes here}}

O programa a seguir é o exemplo de bloco estático java.

Exemplo: Como acessar o bloco estático

public class Demo {static int a;static int b;static {a = 10;b = 20;}public static void main (String args []) {System.out.println ("Valor de a =" + a);System.out.println ("Valor de b =" + b);}}

você obterá a seguinte saída do programa.

Value of a = 10Value of b = 20