如何编写import语句来引用jar中的java类?
当目录结构是这样时,如何引用如何编写import语句来引用jar中的java类?,java,package,Java,Package,当目录结构是这样时,如何引用stdlib1.jar中的Java类?如何编写导入语句 我想在stdlib1.jar下调用一个方法,我已经配置了它 这些类位于默认包中。根据,无法从默认包导入类。因此,必须将它们移动到另一个包中,或者您必须使用反射。这些类位于默认包中。根据,无法从默认包导入类。因此,必须将它们移动到另一个包中,或者必须使用反射。从类而不是从包中调用方法。 从属于jar的类调用方法时,不需要指定jar。重要的是您的jar在类路径中 在您的屏幕截图中,如果lib成为classpath文件
stdlib1.jar
中的Java类?如何编写导入语句
我想在stdlib1.jar
下调用一个方法,我已经配置了它
这些类位于默认包中。根据,无法从默认包导入类。因此,必须将它们移动到另一个包中,或者您必须使用反射。这些类位于默认包中。根据,无法从默认包导入类。因此,必须将它们移动到另一个包中,或者必须使用反射。从类而不是从包中调用方法。
从属于jar的类调用方法时,不需要指定jar。重要的是您的jar在类路径中
在您的屏幕截图中,如果
lib
成为classpath文件夹的一部分,您可以在代码中导入并使用其中的类
在这里,jar的类使用默认包(没有包名),这对于第三方库来说似乎很奇怪。不建议使用默认包,因为它不允许自然引用和使用客户端代码中的归档类。我不确定您使用的jar版本是否正确。
请看: 它包含
edu.princeton.cs
包中的类:
使用包,您可以声明以下内容:
例如:
您可以创建一个这样的类,并像这样使用BinaryIn:
package main;
import edu.princeton.cs.BinaryIn;
public class MyClass(){
public static void main(String args[]){
BinaryIn in = new BinaryIn();
}
}
您可以从类而不是从包调用方法。
从属于jar的类调用方法时,不需要指定jar。重要的是您的jar在类路径中
在您的屏幕截图中,如果
lib
成为classpath文件夹的一部分,您可以在代码中导入并使用其中的类
在这里,jar的类使用默认包(没有包名),这对于第三方库来说似乎很奇怪。不建议使用默认包,因为它不允许自然引用和使用客户端代码中的归档类。我不确定您使用的jar版本是否正确。
请看: 它包含
edu.princeton.cs
包中的类:
使用包,您可以声明以下内容:
例如:
您可以创建一个这样的类,并像这样使用BinaryIn:
package main;
import edu.princeton.cs.BinaryIn;
public class MyClass(){
public static void main(String args[]){
BinaryIn in = new BinaryIn();
}
}
谢谢。我想当我在默认包中使用类时,我不需要导入默认包。因为我的IDE(intellij ideal14)中没有错误,它表示它是正确的声明,但我没有运行它。谢谢你的正确代码,但我仍然想知道它在我的代码中如何工作。(下次我将更改…)这正是您在运行rhe类时的错误,您可以发布该类吗?StdIn.class.getPackage().getName();和控制台:线程“main”java.lang.NullPointerException中存在异常。我可以理解可以找到StdIn,但我可以按ctrl键并单击“Stdln”以获取其源代码。如前所述,
StdIn
位于默认包中,该包为空。因此,当您调用StdIn.class.getPackage()
时,它返回null
,当您调用null
对象上的方法时,会抛出一个NullPointerException
。感谢您。您是对的。我得到了一个jar,其中类都包含在默认包中,因此,无论我把前面的包放在哪里,我不能以正确的方式调用它,但我可以在src>Main.java/test.java>Main()文件中调用它(这样它可以调用Scanner.in()方法之类的方法),但我不能在src>test>test.java>Main()中调用它。原因是什么?(糟糕的英语)。我的意思是两点:第一,默认包不能返回包含的类的属性。但是包含的类的一些特殊类型的方法仍然可以工作。第二,如果我在其他地方调用,这些方法不会调用success。谢谢。我想当我在默认包中使用class时,我不需要导入默认包。因为我的IDE(intellij ideal14)中没有错误,它表示这是一个正确的声明,但我没有运行它。谢谢你的正确代码,但我仍然想知道它在我的代码中是如何工作的。(下次我将更改…),这正是您运行该类时的错误,您可以发布该类吗?StdIn.class.getPackage().getName();和控制台:线程“main”java.lang.NullPointerException中存在异常。我可以理解可以找到StdIn,但我可以按ctrl键并单击“Stdln”以获取其源代码。如前所述,StdIn
位于默认包中,该包为空。因此,当您调用StdIn.class.getPackage()
时,它返回null
,当您调用null
对象上的方法时,会抛出一个NullPointerException
。感谢您。您是对的。我得到了一个jar,其中类都包含在默认包中,因此,无论我把前面的包放在哪里,我不能以正确的方式调用它,但我可以在src>Main.java/test.java>Main()文件中调用它(这样它可以调用Scanner.in()方法之类的方法),但我不能在src>test>test.java>Main()中调用它。原因是什么?(糟糕的英语)。我的意思是两点:第一,默认包不能返回包含的类的属性。但是包含的类的一些特殊类型的方法仍然可以工作。第二,如果我在其他地方调用success,这些方法不会调用success。你是说我的项目下的文件和包外的src不能直接使用,除非经过反射吗?我不是说src
-目录,但是其中的目录表示Java包,并且也在Java
-文件的顶部声明。必须有一个类所属的包。如果不是,将隐式使用默认包。src
-目录包含源代码。我