我有以下两门课
package one;
public class Student
{
//Some code
}
package two;
public class Test
{
public static void main(String args[])
{
Student s = new Student();
//Some code
}
}即使“学生”类有公共访问修饰符,但每当我试图为学生类创建对象时,在来自另一个包的Test类中,eclipse指出了错误,指出我需要导入学生类或创建一个新类。
我想,如果一个类被声明为公共类,那么它可以从任何地方访问。但是为什么eclipse称它为错误呢?
发布于 2014-10-08 20:20:03
您没有import语句,所以编译器不知道Student是指one.Student。您可以使用:
import one.Student;或
import one.*;..。或者在创建对象时完全限定名称:
one.Student s = new one.Student();这不是可访问性问题,而是编译器不知道如何将标识符Student解析为一个完全限定的类名。
发布于 2014-10-08 20:19:54
如果类位于另一个包中,则需要导入它,如下所示
import one.Student;然后你就可以使用它了。这是为了避免歧义,如果构建路径中的任何其他类具有相同的名称。
发布于 2014-10-08 20:20:04
如果一个类是公共的,这意味着您可以在它的包之外在另一个包中使用它。不过,您需要导入该类。
import one.Student如果一个类是包私有的,那么它可以在同一个包中使用,但不能被其他包导入。
https://stackoverflow.com/questions/26265658
复制相似问题