Ajuda[+Import / + Método]

Salve galera tudo bom ?

Seguinte

Pq alguns import são

import java.util.*;

e outros

import java.util.;

Ou seja pq uns tem “*” e outros não ?

Quando vc quiser chamar um método da própria classe, vc não de uma instância ?

Obrigado

Opa.

import java.util.;

public class T
{
}

[quote]dede@dede-laptop:~/Área de Trabalho$ javac T.java
T.java:1: expected
import java.util.;
^
1 error
[/quote]

Não sei onde você viu que usar só o ponto funciona, mas aqui no meu computador não funcionou.

O

import java.util.*;

Quer dizer que você quer todas as classes que estão no pacote .util do Java. Dessa forma, ArrayList, List, Scanner, Maps e afins podem ser usadas.

import java.util.*;

public class T
{
	List<Integer> a;
	Map<Integer, Integer> b;
	Set<Integer> c;
	Scanner l;
}

O código acima compila mesmo sem eu declarar .Map, .List, .Set e .Scanner porque todas essas classes (e mais outras) estão no pacote .util do Java.

Eu não gosto de fazer isso porque, na minha opinião, o código fica menos legível.

Acho que sua pergunta é: “Quando vc quiser chamar um método da própria classe, vc não precisa de uma instância ?”.
Quando você quiser chamar um método da classe (método static) você não precisa criar uma instância dessa classe. Por exemplo, a função min e max da classe Math são estáticos porque não tem um porquê você criar uma instância de Math pra simplesmente dizer qual é o maior ou menor elemento entre dois elementos.

int maior = Math.max(10, 20);   // maior = 20

Abraço.

import java.util.*;

Importa TODAS as CLASSES do pacote java.util

import java.util.Random;

Importa APENAS a CLASSE Random do pacote java.util

import static java.lang.Math.*;

Importa TODOS os MÉTODOS ESTÁTICOS da classe Math do pacote java.lang

import static java.lang.Math.cos;

Importa APENAS o MÉTODO ESTÁTICO cos da classe Math do pacote java.lang

Entendeu a diferença?

Uma outra coisa que causa duvida e como podemos usar as classes por exemplo string , threads , system se não tem um import para elas , o que acontece que por definição todo arquivo java tem um "import implicito"assim import java.lang.* ; que importa todas as classes como por exemplo system , threads , http://java.sun.com/j2se/1.4.2/docs/api/java/lang/package-summary.html da uma olhada no link para mais informações flw