我一直在寻找 StackOverflow 和 Google 的答案。在问之前我已经完成了我的腿部工作。
如果我要将库导入 Java 程序并希望它可以在不同的类中使用,我是否需要手动将其导入每个库或者是否存在某种方式在全球范围内这样做?
到目前为止,我一直在做我在下面展示的例子,但感觉有点“笨拙”并且不是最佳的:
MainProgram(主程序):
import java.util.Scanner;
public class MainProgram
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
Gets getIn = new Gets();
System.out.print("Enter a string: ");
String fromKey = getIn.first(keyboard);
System.out.println(fromKey);
}
}
Gets.java:
import java.util.Scanner;
public class Gets
{
public String first(Scanner keyboard)
{
String result = keyboard.nextLine();
return result;
}
}
如上所述,这感觉很笨拙。
有没有办法让这项工作只需将库导入 MainProgram.java 文件并将它们导入到每个被调用的类中(显然这个类型仍然需要在方法中提及,但那是次要的)?
如果这些类在另一个不导入相同库的程序中使用,我可以看到出现的问题,但是如果正确评论那么这似乎很小。
答案 0 :(得分:4)
您必须为每个类文件导入它。
注意'文件':你可以在一个文件中有多个类,但你只需要导入一次。
答案 1 :(得分:1)
您必须导入到每个班级。
但是,使用现代 IDE (如 Eclipse )执行此操作非常简单,因此我几乎没有注意到它。
只要在你使用它的方法/声明/中输入类名,它就会弹出一个自动完成类型 - 瘦身( Ctrl + space < / kbd>强制它)你可以选择你想要的导入。
答案 2 :(得分:1)
是的,你必须为每个班级导入它。就像Taylor说的那样,使用eclipse会让它变得更容易。 eclipse中的快捷方式是写出扫描器代码行,当你得到读取下划线错误时,按 ctrl - shift - o '组织进口'。这将自动以有组织的按字母顺序排列的方式在文件顶部为您导入导入。
答案 3 :(得分:0)
是您必须为要使用这些库的每个类导入它
答案 4 :(得分:0)
正如其他人所说,You have to import it for every class that you want to use those libraries
,
但是你可能想看一些将为你封装这个逻辑的继承(超类)。
E.g。 MyScanner extends Scanner
MyScanner用于所有类,并且它具有仅返回结果的方法
E.g List<String> getAllLines ();