Perché dovresti scegliere di qualificare completamente un pacchetto invece di importarlo?

0

In java, per stampare la data, potevamo fare una delle seguenti azioni:

Completamente qualificato

public class MyMain {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println(new java.util.Date());

    }

}

Utilizzo di un'importazione

import java.util.*;

public class MyMain {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.out.println(new Date());

    }

}

Quali sono i vantaggi e gli svantaggi di ogni modo?

Per me, l'uso di un'importazione sembra più ordinato, come puoi vedere nella parte superiore della tua classe, solo quali pacchetti vengono utilizzati.

    
posta dwjohnston 10.01.2014 - 01:03
fonte

1 risposta

10

Quando ho bisogno di usare due classi diverse con lo stesso nome o il codice base che sto scrivendo usa spesso classi con lo stesso nome (cosa che può succedere se le classi provengono da pacchetti diversi).

Questo non è un conflitto così raro:

  • java.util.Date
  • java.sql.Date
  • Non posso dirti quante classi ho incontrato chiamato "Documento"

Tieni presente nel tuo esempio che l'importazione * significa che hai aumentato le probabilità che hai importato una classe con lo stesso nome di un'altra classe che era già stata importata.

Spesso, se utilizzo solo una classe in un posto, non mi preoccuperò di importarla ma dirò esplicitamente da dove proviene nel posto in cui è stata utilizzata.

    
risposta data 10.01.2014 - 02:38
fonte

Leggi altre domande sui tag