2014-10-08 156 views
0

我有以下两类类访问修饰符

package one; 
public class Student 
{ 
    //Some code 
} 

package two; 
public class Test 
{ 
    public static void main(String args[]) 
    { 
      Student s = new Student(); 
      //Some code 
     } 
} 

虽然“学生”类有公共访问修饰符,每当我试图创建一个学生类的对象,在测试类,它是从另一个包中,eclipse指出错误,说我需要导入学生类或创建一个新类。

我想如果一个类是公开的,它可以从任何地方访问。但为什么eclipse把它称为错误?

+0

使用相同的封装 – 2014-10-08 20:17:53

+1

使用完全合格的名称输入:'one.Student' – clcto 2014-10-08 20:18:43

回答

3

您没有import语句,因此编译器不知道Student是指one.Student。您可以使用:

import one.Student; 

import one.*; 

...或只是完全有资格当你创建对象的名称:

one.Student s = new one.Student(); 

这不是问题可访问性 - 编译器不知道如何将标识符Student解析为完全合格的类名称。

0

如果类是另一个软件包中,你需要将其导入,这样

import one.Student; 

,然后你将能够使用它。这是为了避免构建路径中的任何其他类具有相同名称时的不明确性。

0

如果一个类是公共的,这意味着你可以在其他包中使用它。你需要导入这个类。

import one.Student 

如果一个类包私人它可以在同一封装内使用,但不能被其它软件包