我做了一个包,里面有一个employee.class,是包可见的,里面的方法都声明为public的,我在包外写了个类,继承employee类,但是报错说不在同一个包内。如果类本身没有访问修饰符,也就是包可见的,而方法和字段都是public的,那么在这个包外的类可以访问这些字段和(继承)方法吗?如果是不可以的话,那岂不是要将所有的类声明为public的才能保证其可被访问和继承,但是一个文件只有能一个类是public的,清高手指点。

解决方案 »

  1.   


    一个文件是只能有一个public,但这个对楼主有影响吗,你吧类的访问修饰符设为public不就好了
    本身没有修饰符, 就是包访问权限,不在同一个包下当然 不能访问了楼主的意思好像一个文件里有很多类需要在包外可见似的,不知道什么意思
      

  2.   

    把employee.class和你准备写它的子类放一个目录,如果是在包外的话,请用package关键字包含
      

  3.   

    没有public当然包外不可见了你在包外要继承某个类,而这个类只是包访问权限,当然是不行的,只能放到同一个包下或者声明为public
      

  4.   

    package mypackage 作用是把你定义的类放入mypackage包内,这样你就可以访问mypackage包内的包访问类了。