求教关于JAVA中package的菜鸟问题!麻烦大神帮忙看看!

我的代码如下
package sample;
public class test{
public static void main(String args[]){
System.out.println("Helloworld!");
}
}
用javac test.java命令没问题,然后再java test就会报错:
Exception in thread "main" java.lang.NoClassDeFoundError:test<
wrong name sample\test>.....
但是我把代码开头那个package sample;去掉就可以运行,出现Helloworld!
这啥原因?应该不是环境变量配置问题吧?
高手们帮忙呀

交互式爱情
浏览 222回答 3
3回答

慕运维8079593

javac sample\test.javajava sample.test在sample的上级目录执行。

莫回无

package sample需要在类文件外增加一个名为sample的文件夹.Java包的机制与计算机目录的结构有关系,你运行带package sample的类文件时,需要在sample文件夹的上一层目录进行运行就可以了.你删除了package sample就不需要再有文件夹了,所以可以正确运行.

胡子哥哥

所谓package实际就是文件夹你把某个程序放到某个package里面,就是放到某个文件夹里面了,当然需要在运行的时候写上相应的路径才能顺利运行,要不然怎么找得到你那个程序呢java sample.test 就行了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python