Reputation: 15409
Try this piece of code. It compiles.
import java.io.*;
import java.io.*;
import java.io.*;
import java.util.*;
import java.util.*;
import java.util.*;
import javax.swing.*;
import javax.swing.*;
import javax.swing.*;
public class ImportMultipleTimes
{
public static void main(String[] args)
{
System.out.println("3 packages imported multiples times in the same class.");
}
}
Does the compiler simply ignore the additional import statements?
Upvotes: 6
Views: 1940
Reputation: 328913
Yes, it will be considered redundant by the compiler, as specified by the JLS 7.5.2:
Two or more type-import-on-demand declarations in the same compilation unit may name the same type or package. All but one of these declarations are considered redundant; the effect is as if that type was imported only once.
Note:
import somepackage.*;
Upvotes: 13