Gå til innhold

Anbefalte innlegg

Hvorfor kan man ikke importere alle klassene inn i et Java-program før man begynner å programmere? Eller, i alle fall de mest viktige. Er det f.eks. noe galt i å importere disse før jeg begynner å programmere, enten jeg kommer til å bruke de eller ei?

 

import java.util.Locale;
import java.text.DecimalFormat;
import java.util.Date;
import java.text.DateFormat;
import static javax.swing.JOptionPane;

 

Er det ikke praktisk å ha disse liggende?

Lenke til kommentar
Videoannonse
Annonse
Hvorfor kan man ikke importere alle klassene inn i et Java-program før man begynner å programmere? Eller, i alle fall de mest viktige. Er det f.eks. noe galt i å importere disse før jeg begynner å programmere, enten jeg kommer til å bruke de eller ei?

 

import java.util.Locale;
import java.text.DecimalFormat;
import java.util.Date;
import java.text.DateFormat;
import static javax.swing.JOptionPane;

 

Er det ikke praktisk å ha disse liggende?

 

Et import-statement forteller bare kompilatoren hvor den finner klassedefinisjonen når den støter på en klasse den ikke finner under java.lang som er default. Om du har 1000 import-statements og klassen ikke benytter seg av noen av klassene du importerer, så blir ikke den kompilerte filen større enn om du hadde utelatt dem.

 

Selv skriver jeg ikke import-statements lenger. De aller fleste IDE'er (Eclipse, NetBeans, IntelliJ, etc) har funksjonalitet som skriver de automatisk, når man begynner å bruke en klasse som f.eks. ligger i en ekstern jar-fil.

 

I Eclipse er det en funksjon som heter "Organize Imports" som fjerner unødvendige import-setninger.

 

Werner

Lenke til kommentar
Tilsvarende har netbeans CTRL+SHIFT+I.

 

import java.text.* og liknende er vel sett på som dårlig praksis mange steder.

 

Noen ganger er det heller ikke entydig for kompileren:

 

import java.util.*;
import java.sql.*;

public class MyClass {
  // Compile error:
  // java.util.Date eller
  // java.sql.Date?
  private Date myDate;

}

 

Noen ganger maa man enkelt og greit velge hva man vil importere:

 

import java.util.Date;

public class MyClass {   
  private Date myUtilDate;
  private java.sql.Date mySqlDate;

}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...