从java中的默认包导入静态类时出错

从java中的默认包导入静态类时出错,java,import,static,Java,Import,Static,我试图通过在Util.java中定义一个静态方法来缩短System.out.println()。我想使用Util.print()进一步缩短为print()。所以我做了一个静态导入 Util.java与listofNumber.java位于同一目录下。当我尝试从tester类访问writeList()时,我得到以下错误: import java.io.*; import java.util.List; import java.util.ArrayList; import static Util;

我试图通过在
Util.java
中定义一个静态方法来缩短
System.out.println()
。我想使用Util.print()进一步缩短为
print()
。所以我做了一个静态导入

Util.java与listofNumber.java位于同一目录下。当我尝试从tester类访问writeList()时,我得到以下错误:

import java.io.*;
import java.util.List;
import java.util.ArrayList;
import static Util;

public class ListOfNumbers {
    ...
    ...
    public void writeList() {
    // The FileWriter constructor throws IOException, which must be caught.
        PrintWriter out = null;

        try {
            print("Entered try statement...");
            ...
        } catch (IOException | IndexOutOfBoundsException e){            
            print("Exception thrown: \n" + e.getMessage());
            ...
        }
    }
}
错误:

>> javac Tester.java && java Tester
.\ListOfNumbers.java:4: error: '.' expected
import static Util;
                  ^
.\ListOfNumbers.java:4: error: ';' expected
import static Util;
                   ^
.\ListOfNumbers.java:4: error: cannot find symbol
import static Util;
              ^
  symbol: class Util
.\ListOfNumbers.java:4: error: static import only from classes and interfaces
import static Util;
^
.\ListOfNumbers.java:24: error: cannot find symbol
                        print("Entered try statement...");
                        ^
  symbol:   method print(String)
  location: class ListOfNumbers
.\ListOfNumbers.java:34: error: cannot find symbol
                        print("Exception thrown: \n" + e.getMessage());
                        ^
  symbol:   method print(String)
  location: class ListOfNumbers
6 errors

您应该导入方法名

import static Util.print;
如果要从Util导入所有静态方法:

import static Util.*;

下面的答案帮助我克服了这个问题!我猜这一定是个虫子


你好,Rajesh,谢谢分享。。我已经照你的建议做了。现在得到下面的错误\java:4:错误:找不到符号导入静态Util.print;^symbol:class Util.\ListofNumber.java:4:错误:仅从类和接口静态导入为类保留包定义。从默认包静态导入是不可能的,看起来这并不能回答我的问题。你能仔细看一下当前的上下文和你“可能”标记为重复的问题吗?如果你阅读了答案和答案中标记的后续问题,你就会清楚你的疑问。作为记录:使用默认程序包是一种不好的做法,你真的不应该这样做。类的名称应该说明它们是什么;从这个意义上说,“Util”也不是一个很好的命名例子。@Jägermeister:正确的观点,同意!我正在尝试实施和学习一些基础知识和实践。但是,在使用默认包名时,我会记住这一点。干杯可能重复的