API de Java e a declaraçom import

Java dispom de um extenso conjunto de classes predefinidas que estam a disposiçom da programadaora. Estas classes, contidas em paquetes, conformam a Java Application Programming Interface (Java API) ou biblioteca de classes.

Estas classes som um conjunto de subrutinas, funçons e procedimentos (classes e métodos na programaçom orientada a objetos) que se ponhem a disposiçom dos e das programadoras para a realizaçom de tarefas comuns e habituáis. Por exemplo:

  • Entrada e saída de dados desde consola, ficheiros, rede, etc.
  • Cáculos matemáticos complexos coma raizes quadradas, exponentes, etc.
  • Gestom de erros em tempo de execuçom.
  • Uso de estruturas avançadas de dados coma listas, árvores, etc.
  • Contruçom da Interface Gráfica de Usuário (GUI nas suas síglas em Inglês)

O número destas classes e paquetes é imenso, estando organizados por temáticas em diferentes paquetes e subpaquetes.

A documentaçom oficial etá disponível tanto online coma offline, e é um recurso moi importante, fundamental, para programar em Java.

A documentaçom para a API do JDK que istalamos no anterior artigo atopamo-la aqui:

https://docs.oracle.com/javase/8/docs/api/

Aqui podemos consultar a documentaçom para outras verssons:

https://www.oracle.com/technetwork/java/api-141528.html

E para ter a documentaçom offline podemos descarrega-la de aqui:

https://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html

E como fazemos uso destas classes e os seus métodos?

Temos que importar a classe, menos as do paquete java.lang, que se importam automaticamente. Por exemplo: java.lang.Math ou java.lang.System

Depois temos que invocar o método da classe se é estático, como por exemplo o Math.sqrt ou se nom é estático, teremos que criar um novo objeto para chamar a classe.

Imos fazer um programinha que nos pida um texto e logo o imprima:

class Texto {
     public static void main(String[] args) {
         //declara umha variável String
         String texto;
  
         //imprime por pantalha
         System.out.println("Escreve um texto:");

         /*Crea um novo objeto da classe Scanner do 
         paquete java.utils chamado ent*/
         java.util.Scanner ent = new java.util.Scanner(System.in);

         //Armazena no String texto o texto que se introduza
         texto = ent.nextLine();

         //imprime o texto armazenado
         System.out.println("Este é o texto que introduziches: "+ texto);
     }
}

Como podemos observar, para fazer uso da classe Scanner temos que escrever de cada vez que a queremos utilizar o caminho completo do paquete que a contem. Para evitar isto, podemos fazer uso da declaraçom import.

A declaraçom import facilita a localizaçom de dita classe por parte do compilador e evita que tenhamos que indicar o nome do paquete de cada vez que a usemos.

As declaraçons import sempre vam ao começo do arquivo. Vejamos o exemplo de antes modificado com a declaraçom import:

//declaraçom import
import java.util.Scanner;

class Texto {
     public static void main(String[] args) {
         //declara umha variável String
         String texto;  
  
        //imprime por pantalha
        System.out.println("Escreve um texto:");

        /*Crea um novo objeto da classe Scanner do  paquete java.utils chamado ent*/
        Scanner ent = new Scanner(System.in);

        //Armazena no String texto o texto que se introduza
        texto = ent.nextLine();

        //imprime o texto armazenado
        System.out.println("Este é o texto que introduziches: "+ texto);
    }
}

A seguir podemos ver outro exemplo, que mostra a hora actual por meio de umha interface gráfica, onde se utilizam métodos estáticos das classes que se importam:

import javax.swing.JOptionPane; // Importamos a classe JOptionPane do paquete javax.swing

import java.time.LocalTime; // Importamos a classe LocalTime do paquete java.time

class DemoAPI {
    public static void main(String[] args) {

        /*
        Chamada ao método estático showMessageDialog() da classe JOptionPane para que mostre a hora atual, obtida por meio do método estático now() da classe LocalTime
        */
        JOptionPane.showMessageDialog(null, "A hora atual é: " + LocalTime.now());

    }
}

Deixe um comentário