Static Import Example in Java..

.. from this book .. Chapter 1 - Question 11

The following code snippet is given..
// insert code here
public class StatTest {
 
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
    }
}

And the question goes as follows..
Given that the Integer class is in the java.lang package.. 
Which, inserted independently at line 1, compiles?
 
A. import static java.lang;
B. import static java.lang.Integer;
C. import static java.lang.Integer.*;
D. static import java.lang.Integer.*;
E. import static java.lang.Integer.MAX_VALUE;
F. None of the above statements are valid import syntax

I think the question is a little bit on the wrong side, because java.lang is implicitly imported so you do not need to actually insert any code in order to make the code compile.. Correct options are: C and E. But what is tried to be asked is quite different I believe.. The problem with the question as it is I believe is that, the import statements do not even import the constant used in the code! Please see the following example to see my point..

Here is the code snippet I have..
package a;
 
public class A {
    public static final Integer A_MAX_VALUE = Integer.MAX_VALUE;
}
 
package b;
 
// insert code here
 
public class B {
    int x = A.MAX_VALUE;
}

Since C was correct for the question above, lets try the same approach for this question. Will this compile?
package b;
 
import static a.A.*;
 
public class B {
    int x = A.MAX_VALUE;
}

And applying E in our situation.. Will this compile?
package b;
 
import static a.A.MAX_VALUE;
 
public class B {
    int x = A.MAX_VALUE;
}


Correct Answers?

So the proper solutions are as bellow, pick the one you like..
package b;
 
import a.A;
 
public class B {
    int x = A.MAX_VALUE;
}
package b;
 
import static a.A.MAX_VALUE;
 
public class B {
    int x = MAX_VALUE;
}
package b;
 
import static a.A.*;
 
public class B {
    int x = MAX_VALUE;
}