我试图通过在util.java
中定义一个静态方法来缩短system.out.println()
。我想利用进一步缩短为print()
的util.print()。所以我做了一个静态导入。
java与listofnumbers.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
下面的回答帮助我克服了这个问题!我猜这一定是个窃听器。
无法导入默认包中的Java静态成员!
您应该导入方法名
import static Util.print;
如果要从util导入所有静态方法:
import static Util.*;
问题内容: 我正在使用Eclipse 3.5,并且已经创建了一个具有一些包结构以及默认包的项目。我在默认包中有一个类-Calculations.java,并且我想在任何包中使用该类(例如在中)。当我尝试使用默认软件包中的类时,它给了我一个编译器错误。无法识别默认程序包中的类。问题出在哪里? 我不能将我的课程放在其他任何包中。此类具有一些在Delphi中实现的本机方法。如果我将该类放在任何文件夹中,
问题内容: 我在Entities程序包中有类,但是我仍然想运行默认程序包中的导入内容…我该怎么做? 问题答案: 你不知道 抱歉。 尽管我引用了另一个答案,但是您可以查看ORACLE参考,该参考指出了预期的行为。 我建议将您的东西移动到命名包中。 如果您绝对不能重构,则可以尝试使用反射来访问它。再次,检查上面链接的答案。
我当前的系统(MacOS 10.10.5)配置是: 每次我开始处理一个项目(目前为1.8.0_65)并使用 = 引入的默认导入语句是 虽然我希望它是: 是否有任何配置我可以纠正,或者这是我使用的组合中的一些错误?想知道是什么设置优先于sun包而不是java包? 注意:是否已经回答了像在Eclipse中一样在IntelliJ IDEA中自动导入类的任何方法(或快捷方式)?但是当我键入时得到的选项不包
模块“Transformer”解析为非模块实体,不能使用此构造导入。 如何导入类?其实我只是想利用那堂课。我不希望指令在我的代码中产生附带效应。我只想用它:'(
问题内容: 静态导入是什么意思,例如: 如何定义这样的软件包?使用静态导入有什么优势? 问题答案: 表示您可以引用静态值而无需使用类名。 例如,考虑以下三个类:
问题内容: 如果要创建组件,似乎可以用很多不同的方式创建类。这些有什么区别?我怎么知道要使用哪个? 我只是假设他们做不同的事情,还是只是语法不同? 如果有人可以给我快速的解释或链接,我将不胜感激。我不想从一个新的框架开始,不知道到底有什么区别。 问题答案: 嗨,欢迎来到React! 我认为您在这里遇到的问题并不是与React特定的,而是与新的ES2015模块语法有关。在创建React类组件时,出于