package shape;
public interface Test{
double area();
}我是刚学JAVA
很想学好
自学的时候按照书上创建了一个包它提示
The declared package "shape" does not match the expected package ""
我的类名是Test急谢谢了
public interface Test{
double area();
}我是刚学JAVA
很想学好
自学的时候按照书上创建了一个包它提示
The declared package "shape" does not match the expected package ""
我的类名是Test急谢谢了
像你的代码,假如你的源文件在桌面,只要在桌面建一个名为shape的文件夹就可以编译通过了
包是要自己先建立的,知道了不?
不是会自动建立文件夹吗
文件的默认地址是
C:\Documents and Settings\Administrator\workspace
其实不一定非得用package语句建包!默认的default包就是当前目录!
直接在记事本下编。
你的问题是很简单。
《《
不用把源文件放到哪里
像你的代码,假如你的源文件在桌面,只要在桌面建一个名为shape的文件夹就可以编译通过了
包是要自己先建立的,知道了不?
是最直接的。》》要是怕记事本烦,你就用Jcreator吧。你是学习方法错了
这句话翻译过来就是:声明的包"shape"不匹配已经存在的包""。这个包"",就是指的src。如果你是在eclipse下面建的类,那么,你的类一定是直接建在了src下面,并且,package的代码一定也是你自己手工敲上去的。建议你在eclipse下面建类,不要自己手工敲package,而应该先new-package,之后,再右击你新建的包,再new-class或interface,这样就不会报错了。你现在的错误很容易也能改正:在package这行代码的最左边应该有一个小灯泡,点那个小灯泡,会弹出一个命令菜单,选择里面“move 'Test.java' to package shape”,它就会帮创建包shape,并帮你把你的Test接口移动到shape包里了。
如果是使用记事本,同样不需要自己建包,10楼的兄弟搞错了。只要在执行Javac的时候加上-d参数,Javac就会帮助你建包了(真实项目里,包是非常多的,要是由自己建包。天呀,让我去死吧。。)其实这是一件很奇怪的事情,在JDK 1.4之前,你任何参数都不加,Javac都会帮你建包的,可自从JDK 1.5之后,非要使用-d,才帮你建包了,不知道sun是咋想滴。
自己摸索了下
问题解决了
举个例子
方法一
我用的eclipse
我的程序默认地址是C:\Documents and Settings\Administrator\workspace\
我的类名是Test
我新建的Test类的绝对路径是C:\Documents and Settings\Administrator\workspace\Test
假如我要新建一个shape的包
这个包的绝对路径就是
C:\Documents and Settings\Administrator\workspace\Test\src\Test.java
我们在编译的时候会出错
所以
我们在
在C:\Documents and Settings\Administrator\workspace\Test\src下新建一个名为shape文件夹
把Test.java拖进shape文件夹下
这个时候且对路径就成了C:\Documents and Settings\Administrator\workspace\Test\src\shape\Test.java
方法二
新建一个Test的类
左上角有个Test的树形目录
右键Test---New---Package
注意方法二因为我是在eclipse环境下,其他环境没试验过以上就是这个问题的总结
希望有高手指出更好的方法让我们菜鸟学习学习