首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类访问修饰符

类访问修饰符
EN

Stack Overflow用户
提问于 2014-10-08 20:16:52
回答 3查看 71关注 0票数 0

我有以下两门课

代码语言:javascript
复制
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称它为错误呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-08 20:20:03

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

代码语言:javascript
复制
import one.Student;

代码语言:javascript
复制
import one.*;

..。或者在创建对象时完全限定名称:

代码语言:javascript
复制
one.Student s = new one.Student();

这不是可访问性问题,而是编译器不知道如何将标识符Student解析为一个完全限定的类名。

票数 4
EN

Stack Overflow用户

发布于 2014-10-08 20:19:54

如果类位于另一个包中,则需要导入它,如下所示

代码语言:javascript
复制
import one.Student;

然后你就可以使用它了。这是为了避免歧义,如果构建路径中的任何其他类具有相同的名称。

票数 0
EN

Stack Overflow用户

发布于 2014-10-08 20:20:04

如果一个类是公共的,这意味着您可以在它的包之外在另一个包中使用它。不过,您需要导入该类。

代码语言:javascript
复制
import one.Student

如果一个类是包私有的,那么它可以在同一个包中使用,但不能被其他包导入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26265658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档