当前位置: 技术问答>java相关
!!!!!?????请问如何调用在类路径下,但不在任何包里的类?谢谢----急!百分相赠!!!
来源: 互联网 发布时间:2015-04-16
本文导语: 例如: class Hello位于类路径下,class Test位于包my.test中,不知如何在Test中的方法里调用Hello类中的方法???? | 可是上面的回答怎么都那么复杂啊? | 包名.hello.方法名() | ...
例如:
class Hello位于类路径下,class Test位于包my.test中,不知如何在Test中的方法里调用Hello类中的方法????
class Hello位于类路径下,class Test位于包my.test中,不知如何在Test中的方法里调用Hello类中的方法????
|
可是上面的回答怎么都那么复杂啊?
|
包名.hello.方法名()
|
无包名的,缺省是com包下。
|
1、如果你用的是jdk在cmd方式运行,那么程序中直接import xxx.xxx就行了,但运行时就应是java -classpath “...” yourpro.class
2、如果你用的是jbuilder,则import xxx.xxx,并在project properties中设置类路径。
2、如果你用的是jbuilder,则import xxx.xxx,并在project properties中设置类路径。
|
举个例子:
假设有两个类文件Test1.java和TestMain.java位于D:test路径下
/////Test1.java/////////
public class Test1 {
public Test1(String message) {
System.out.println(message);
}
}
/////TestMain.java////////
package test;
import Test1;
public class TestMain {
public static void main(String[] args) {
Test1 test1 = new Test1("Hello Java");
}
}
其中TestMain在Test包中,而Test1属于匿名包。
可以在TestMain中使用Test中定义的类。
在命令行(D:)下,输入:
javac Test1.java
javac -classpath D:test;. testTestMain.java
java -classpath D:test;. test.TestMain
运行成功!
虽然可以运行,但是并不推荐在命名包中使用匿名包中的类型!
假设有两个类文件Test1.java和TestMain.java位于D:test路径下
/////Test1.java/////////
public class Test1 {
public Test1(String message) {
System.out.println(message);
}
}
/////TestMain.java////////
package test;
import Test1;
public class TestMain {
public static void main(String[] args) {
Test1 test1 = new Test1("Hello Java");
}
}
其中TestMain在Test包中,而Test1属于匿名包。
可以在TestMain中使用Test中定义的类。
在命令行(D:)下,输入:
javac Test1.java
javac -classpath D:test;. testTestMain.java
java -classpath D:test;. test.TestMain
运行成功!
虽然可以运行,但是并不推荐在命名包中使用匿名包中的类型!
|
尝试使用"javap 类名" 这个命令,虽然会出现错误信息,但从中可以知道目标类的包名
将这个类放到正确的目录结构中,并加入到classpath中
在程序中使用import语句就可以的到用类中的方法了。
将这个类放到正确的目录结构中,并加入到classpath中
在程序中使用import语句就可以的到用类中的方法了。
|
有没一种办法可以在程序里动态定义classpath?
|
直接import xxx.class就可以了