创建一个包放入2个类X1,X2:
package example.bag;
public class X1
{ ......}package example.bag;
public class X2
{......}然后调用包:
若是 import example.bag.X1;
import example.bag.X2;
这么调用程序没问题;但是 import example.bag.*;这么调用包内容怎么程序就报错呢?那天上课老师遇到这问题也弄不清楚。
package example.bag;
public class X1
{ ......}package example.bag;
public class X2
{......}然后调用包:
若是 import example.bag.X1;
import example.bag.X2;
这么调用程序没问题;但是 import example.bag.*;这么调用包内容怎么程序就报错呢?那天上课老师遇到这问题也弄不清楚。
首先如果楼主描述正确的问题话,上述代码是没问题的。import * 和import 类名无异。
解决方法:先确定你的代码跟你们老师不相同,然后查看package的路径是否与Import的相同,可能只是一个小小的粗心。
类X1:
package example.bag;
public class X1
{
int x,y;
public X1(int i,int j)
{
this.x=i;
this.y=j;
System.out.println("x="+x+" "+"y="+y);
}
public void show()
{
System.out.println("This class is a X1.");
}
}类X2:
package example.bag;
public class X2
{
int m,n;
public X2(int i,int j)
{
this.m=i;
this.n=j;
System.out.println("m="+m+" "+"n="+n);
}
public void show()
{
System.out.println("This class is a X2.");
}
}
类B:
import example.bag.*;//此处若换成import example.bag.X1;import example.bag.X2就对了。
public class B
{
public static void main(String args[])
{
X1 a=new X1(2,8);
X2 b=new X2(3,7);
a.show();
b.show();
}
}运行是
E:>javac . X?.java
E:>javac B.java
...
可怎么会报错呢?
可能是你编译环境出了问题。
你换个编译器用用,eclipse
我用这个编译的,没有问题。
搞java的就是这点不好,代码没有错。就是报错!
这就是我老师经常说的:“人品有问题”换个编程软件试试,一定行。
JCreator
jbuilder
^_*
用eclipse等会自动帮你把.java文件和.class文件分开,所以不会出现这个问题。
我们老师以前好像说过会可能有影响,具体的我也忘了。