当前位置: 技术问答>java相关
送分,谢谢,关于包
来源: 互联网 发布时间:2015-07-23
本文导语: 参考: http://www.csdn.net/expert/topic/864/864139.xml?temp=.8457605 我的JAVA文件在 E:testjava 我的CLASSPATH 是:.;d:jdk14libdt.jar;d:jdk14libtools.jar;e:testjava;(java源文件的路径) PATH : .;D:jdk14bin 我是这样编译的: (一...
参考:
http://www.csdn.net/expert/topic/864/864139.xml?temp=.8457605
我的JAVA文件在 E:testjava
我的CLASSPATH 是:.;d:jdk14libdt.jar;d:jdk14libtools.jar;e:testjava;(java源文件的路径)
PATH : .;D:jdk14bin
我是这样编译的:
(一):
d:testjavajavac Demo1.java 和 d:testjavajavac Demo2.java都可以通过,当编译Demo2.java是,会在包p1里生成一个 Demo1.class文件,而没有生成Demo2.class. 这一点我有点迷惑。
当然在 e:testjava 里有 Demo1.class和Demo2.class,但 运行 e:testtava java Demo2.java显然是不能运行,原因好象很明显,但还是有点迷惑。
(二):
我把Demo1.java和Demo2.java 拷贝到e:testjavap1里,编译:e:testjavap1 javac Demo1.java e:testjavap1 java Demo2.java
运行: e:testjavajava p1.Demo2 可以得到结果。
但如果这样运行:e:testjavap1 java Demo2 是不可以,原因好象很明显,但还是有点迷惑。
http://www.csdn.net/expert/topic/864/864139.xml?temp=.8457605
我的JAVA文件在 E:testjava
我的CLASSPATH 是:.;d:jdk14libdt.jar;d:jdk14libtools.jar;e:testjava;(java源文件的路径)
PATH : .;D:jdk14bin
我是这样编译的:
(一):
d:testjavajavac Demo1.java 和 d:testjavajavac Demo2.java都可以通过,当编译Demo2.java是,会在包p1里生成一个 Demo1.class文件,而没有生成Demo2.class. 这一点我有点迷惑。
当然在 e:testjava 里有 Demo1.class和Demo2.class,但 运行 e:testtava java Demo2.java显然是不能运行,原因好象很明显,但还是有点迷惑。
(二):
我把Demo1.java和Demo2.java 拷贝到e:testjavap1里,编译:e:testjavap1 javac Demo1.java e:testjavap1 java Demo2.java
运行: e:testjavajava p1.Demo2 可以得到结果。
但如果这样运行:e:testjavap1 java Demo2 是不可以,原因好象很明显,但还是有点迷惑。
|
你应该这样编译!
javac -D . Demo1.java;
javac -D . Demo2.java;
这样就会在当前目录生成p1 子目录该目录下有两个文件:Demo1.class,Demo2.class
javac -D . Demo1.java;
javac -D . Demo2.java;
这样就会在当前目录生成p1 子目录该目录下有两个文件:Demo1.class,Demo2.class
|
是不是包没写好阿,
|
p1是你的package名字呀!运行有package的程序需要在程序前加上package名字的,如:java myapp.app
|
因为你定义了classpath在e:testjava
这样运行java的时候他会从e:testjava下开始找你的class。
但你又定义了package为pl。
这样你的class文件必须放在pl目录下,
所以你用java Demo2他是找不到E:testjava下的 Demo2。class
必须用java pl.Demo2
他才会去找pl下的class。
不过你可把pl目录打包成jar这样就好运行了。
你也可以试试把classpath设成e:testjavapl
java Eemo2看,这个我没有试过不知道是否成功。
这样运行java的时候他会从e:testjava下开始找你的class。
但你又定义了package为pl。
这样你的class文件必须放在pl目录下,
所以你用java Demo2他是找不到E:testjava下的 Demo2。class
必须用java pl.Demo2
他才会去找pl下的class。
不过你可把pl目录打包成jar这样就好运行了。
你也可以试试把classpath设成e:testjavapl
java Eemo2看,这个我没有试过不知道是否成功。
|
不太可能吧,你用JAVAC?这是我用JAVAC后
C:test>javac *.java
C:test>dir
驱动器 C 中的卷是 SYSTEM
卷的序列号是 1120-12D9
C:test 的目录
2002-07-12 14:03 .
2002-07-12 14:03 ..
2002-07-12 14:21 405 Demo1.class java 包名.编译的文件名 (不带.class)
C:test>javac *.java
C:test>dir
驱动器 C 中的卷是 SYSTEM
卷的序列号是 1120-12D9
C:test 的目录
2002-07-12 14:03 .
2002-07-12 14:03 ..
2002-07-12 14:21 405 Demo1.class java 包名.编译的文件名 (不带.class)
|
程序改为如下,可能对你有用。。
public class Demo1
{
public int a;
public void method()
{
System.out.println("demo1");
}
public Demo1(){} //
}
好运与你同行。。。。
public class Demo1
{
public int a;
public void method()
{
System.out.println("demo1");
}
public Demo1(){} //
}
好运与你同行。。。。
|
学习
|
hehe,我试了一下,发现 java Demo2不会成功。
你用了package以后你要运行他必须带上他的package.
你用了package以后你要运行他必须带上他的package.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。