我自己建了两个类
这是第1个文件
package mypackage;
public class Animal
{
protected void shout()
{
System.out.println("animal");
}
}
这是第2个文件
import mypackage.Animal;
public class Dog extends Animal
{
public static void main(String[] args)
{
Dog temp=new Dog();
temp.shout();
}
}  
然后我用javac -d . Animal.java这样就出现了一个包,也成功了
编译第2个java文件也通过了,但是我稍微做一下修改
把第2个文件第1行(只改了第1行)变为import mypackage.*;
编译就过不去,说找不到类
import mypackage.Animal;这样就能编译过去
为什么啊,我看书上写的是*啊,怎么*就不行?*只能用于调java 里那些系统的包吗?
我自学的,这弄不明白

解决方案 »

  1.   

    你把第一个类源文件也放到包里面去,和class文件放一起,这样就可以通过了.至于为什么我也不知道,我以前也遇到这样的问题,就是这样解决的,顺便说下,我也是自学的,呵呵!~~
      

  2.   

    *是之里面的所有文件
    Dog   是在mypackage.Animal包中
    所以只能import mypackage.Animal.*;或者import mypackage.Animal.Dog;
      

  3.   

    声明,dog不是在mypackage.Animal包中 ,注意