Visão geral da palavra-chave estática em Java
Java é uma linguagem de programação popular usada para produzir programas e aplicativos de software e foi desenvolvida em meados dos anos 90. Java é compatível com todos os sistemas operacionais modernos. O principal motivo de sua popularidade são algumas disposições que ele fornece para garantir ampla segurança e reutilização do aplicativo, como o membro estático. Em Java, a palavra-chave estática é usada principalmente para garantir e ativar o gerenciamento eficiente da memória do sistema e a reutilização de propriedades comuns. Podemos usar a palavra-chave estática com variáveis, métodos, classes aninhadas e blocos de código. Static é usado como um modificador sem acesso em Java. A palavra-chave Static indica que um membro específico pertence a um tipo em vez de instâncias individuais desse tipo específico. Isso implica que apenas uma única instância desse membro estático pode ser criada e compartilhada entre todas as instâncias da classe.
Criar um método estático
Para declarar um membro estático, seja um bloco, uma variável, um método ou uma classe aninhada, precisamos preceder o membro com a palavra-chave static. Quando declaramos um membro como estático, podemos acessá-lo antes que qualquer um de seus objetos de classe seja criado, pois é independente de seus objetos de classe. No exemplo abaixo, criaremos um método estático e veremos como ele pode ser chamado sem nenhuma referência à sua classe:
Código:
class Main // declaring a class name called staticTest
(
// Declaring a static method below
public static void myStaticmethod()
(
System.out.println("Hello, I was called from static method.");
)
public static void main(String() args )
(
// Calling the static method without any object reference
myStaticmethod();
)
)
Resultado:
Criar uma única classe com vários blocos estáticos
Às vezes, precisamos executar certos cálculos para inicializar nossas variáveis estáticas. Nesses casos, podemos declarar um bloco estático que é carregado apenas uma vez quando a classe é executada pela primeira vez. Vamos entender isso melhor com o exemplo abaixo:
Código:
class Main
(
// Declaring a static variable below
static int a = 10;
static int b;
// Declaring a static block below
static
(
System.out.println( " In static block now. " );
b = a*2;
)
public static void main( String() args )
(
System.out.println(" Value of b : " + b);
)
)
Resultado:
Agora, movendo-se para variáveis estáticas, elas são principalmente variáveis globais, pois quando uma variável é declarada como estática, apenas uma única cópia da variável é criada e compartilhada entre todos os objetos em uma classe. Precisamos considerar que podemos criar uma variável estática apenas no nível da classe. Se um programa tiver variáveis estáticas e um bloco estático, a variável estática e o bloco estático serão executados na ordem em que são escritos no programa.
Agora vamos aprender mais sobre o método estático. Um método é Java quando declarado com uma palavra-chave estática anterior a ele, é chamado de método estático. O método estático mais comumente usado em Java é o método principal. Os métodos em Java declarados com a palavra-chave estática também são acompanhados de várias restrições. Poucos deles estão listados abaixo:
- Os métodos estáticos podem chamar apenas outros métodos estáticos.
- Métodos estáticos podem acessar apenas dados estáticos diretamente.
- Métodos estáticos não podem fazer referência a isso ou super em nenhuma circunstância.
Por que o método principal estático em Java?
O método principal em Java é estático, pois não exigimos que um objeto possa chamar o método principal. Se fosse um método não estático, primeiro precisaríamos que a JVM (Java Virtual Machine) chamasse o objeto de classe e isso não seria um processo eficiente em termos de memória, pois exigiria memória adicional para isso.
Casos de uso de membro estático
Você pode estar pensando em quais circunstâncias e cenários devemos usar membros e variáveis estáticos?
Podemos usar uma variável estática para qualquer propriedade que seja comum a todos os objetos. Por exemplo, se tivéssemos uma classe com o nome Student, todos os objetos do aluno compartilhariam a mesma propriedade do nome da faculdade, que pode ser declarada como uma variável estática nesse caso. Também podemos usar variáveis estáticas quando seu valor é independente de seus objetos de classe.
Vamos consultar o exemplo abaixo para entender melhor os membros estáticos:
Código:
class Student
(
int roll_no; // declaring an instance variable
String name;
static String college_name ="KC College"; // declaring a static variable for common property college name
//declaring the class constructor below
Student(int r, String n)
(
roll_no = r;
name = n;
)
// declaring a method to display the values
void display ()
(
System.out.println(roll_no+" "+name+" "+college_name);
)
)
//Declaring a test class to display the values of objects
public class Main(
public static void main(String args())(
Student st1 = new Student(111, "Karan");
Student st2 = new Student(222, "Arjun");
//below we have changed the college name which was a common property of all objects with a single line of code
Student.college_name ="Jain Hind College";
st1.display();
st2.display();
)
)
Resultado:
Classes aninhadas estáticas em Java
Em Java, não podemos declarar a classe de nível superior como estática, mas podemos declarar suas classes aninhadas como estáticas, se necessário. Essas classes são chamadas de classes estáticas aninhadas.
Os métodos estáticos em Java são identificados no tempo de execução e, como a substituição é parte do polimorfismo do tempo de execução, os métodos estáticos não podem ser substituídos.
Não podemos declarar métodos abstratos como estáticos.
Conclusão - Palavra-chave estática em Java
Com os exemplos e explicações acima, podemos concluir que o Java fornece vários recursos e propriedades, como estático e abstrato, que o tornam seguro, seguro e robusto para uso. Tudo isso levando ao Java ainda sendo uma opção muito popular para o desenvolvimento de sistemas em que a segurança é a principal preocupação.
Artigos recomendados
Este é um guia para palavras-chave estáticas em Java. Aqui discutimos como criar método estático e casos de uso do membro estático, juntamente com sua implementação de código. Você também pode consultar os seguintes artigos para saber mais:
- Comandos Java (dicas e truques)
- Declaração de caso em exemplos de Java
- Classe Singleton em Java (implementação)
- Recursão em tipos Java, exemplos
- Como as variáveis funcionam em JavaScript?
- Polimorfismo em Java
- Exemplos de método estático JavaScript
- Polimorfismo de tempo de execução em Java | Como trabalhar?