public class launcher{
    public static void main(String[] args){
        javax.swing.JOptionPane.showMessageDialog(null,"HelloWorld");
    }
}
Run Code Online (Sandbox Code Playgroud)
public class launcher{
    public static void main(String[] args){
        System.out.println("HelloWorld");
    }
}
Run Code Online (Sandbox Code Playgroud)
public class launcher{
    public static void main(String[] args){
        int a = java.util.Random.nextInt(10);
    }
}
Run Code Online (Sandbox Code Playgroud)
import java.util.Random;
public class launcher{
    public static void main(String[] args){
        Random rr = new Random();
        int num = rr.nextInt(10);
    }
}
Run Code Online (Sandbox Code Playgroud)
Code1和Code2在没有"import java.swing.JOptionPane"或"import System.out.println"的情况下运行良好
但是,Code3不能很好地工作.
我应该像Code4一样使用吗?
"Code3"中的问题与导入Random或使用其完全限定名称无关.
你的问题是,这nextInt()不是一个静态的方法."Code4"的工作原理是因为您在其上创建Random并运行该nextInt()方法的实例,而不是因为您已导入该类.
导入类的所有功能都可以避免每次要使用它时都必须写出包.它不会改变您在该类上调用方法的方式.
如果你像这样重写它,"Code3"会起作用:
public class launcher{
    public static void main(String[] args){
        java.util.Random rr = new java.util.Random();
        int a = rr.nextInt(10);
    }
}
Run Code Online (Sandbox Code Playgroud)