DEV Community

FUNDAMENTOS JAVA
FUNDAMENTOS JAVA

Posted on

2 1 1

Importação Estática

Introdução à Importação Estática

  • A importação estática no Java permite que os membros estáticos de uma classe ou interface sejam acessados diretamente, sem a necessidade de qualificá-los com o nome da classe. Isso reduz a verbosidade do código e simplifica o uso de métodos ou campos estáticos frequentemente utilizados.

Exemplo sem Importação Estática

  • No programa abaixo, duas soluções de uma equação quadrática são calculadas usando métodos estáticos da classe Math:
class Quadratic {
    public static void main(String args[]) {
        double a = 4, b = 1, c = -3, x;

        // Primeira solução
        x = (-b + Math.sqrt(Math.pow(b, 2) - 4 * a * c)) / (2 * a);
        System.out.println("First solution: " + x);

        // Segunda solução
        x = (-b - Math.sqrt(Math.pow(b, 2) - 4 * a * c)) / (2 * a);
        System.out.println("Second solution: " + x);
    }
}

Enter fullscreen mode Exit fullscreen mode

Os métodos Math.sqrt e Math.pow precisam ser qualificados pelo nome da classe, o que torna a expressão longa e menos legível.

Com Importação Estática

  • O mesmo código pode ser simplificado com a importação estática:
import static java.lang.Math.sqrt;
import static java.lang.Math.pow;

class Quadratic {
    public static void main(String args[]) {
        double a = 4, b = 1, c = -3, x;

        // Primeira solução
        x = (-b + sqrt(pow(b, 2) - 4 * a * c)) / (2 * a);
        System.out.println("First solution: " + x);

        // Segunda solução
        x = (-b - sqrt(pow(b, 2) - 4 * a * c)) / (2 * a);
        System.out.println("Second solution: " + x);
    }
}

Enter fullscreen mode Exit fullscreen mode

Aqui, sqrt e pow são acessados diretamente, tornando o código mais conciso e legível.

Formas de Importação Estática
Importação de um único membro estático:

import static pacote.Classe.membroEstatico;

Enter fullscreen mode Exit fullscreen mode

Exemplo:

import static java.lang.Math.sqrt;

Enter fullscreen mode Exit fullscreen mode

Importação de todos os membros estáticos de uma classe:

import static pacote.Classe.*;

Enter fullscreen mode Exit fullscreen mode

Exemplo:

import static java.lang.Math.*;

Enter fullscreen mode Exit fullscreen mode

Vantagens
Redução de Verbosidade: Torna expressões matemáticas e chamadas a métodos estáticos mais curtas e claras.
Conveniência: Ideal para classes com muitos métodos estáticos frequentemente usados, como Math.

Considerações e Limitações
Conflitos de Nomes: Importar vários membros estáticos para o escopo global pode causar colisões de nomes.
Legibilidade: Em alguns casos, a ausência do nome da classe pode dificultar a identificação da origem de um método ou campo.
Boa Prática: Use importações estáticas apenas quando forem realmente necessárias para evitar confusão e manter a clareza do código.

Perguntas Frequentes
P: É possível usar importação estática com classes que eu mesmo crio?
R: Sim, a importação estática pode ser usada para membros estáticos definidos em suas próprias classes, como constantes ou métodos utilizados globalmente. Isso é especialmente útil em projetos grandes.

Este resumo cobre as principais ideias sobre importação estática, mostrando como utilizá-la de forma eficaz e com responsabilidade.


Image description

Image description

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more