Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用另一个包中的类?_Java - Fatal编程技术网

如何在java中使用另一个包中的类?

如何在java中使用另一个包中的类?,java,Java,我想知道如何使用另一个包中的类 下面是一个文件,它位于包project1中 package project1; class student{ void print(){ System.out.println("s"); } } class teacher{ void print(){ System.out.println("t"); } } public class Project1 { /** * @

我想知道如何使用另一个包中的类

下面是一个文件,它位于包project1中

package project1;

class student{

    void print(){
        System.out.println("s");
    }

}

class teacher{
    void print(){
        System.out.println("t");
    }
}

public class Project1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }

}
这是一个包project2中的文件

package project2;

import project1.student;

public class Project2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        student x = new student();
    }

}
但我有一个错误学生不在公共场合

我是否以错误的方式导入了student类,以致无法使用student类,或者无法执行此操作?

检查

如果类没有修饰符(
public
private
…),它将使用默认修饰符,这意味着只能从同一个包访问该类

在这里,您将很容易看到:

访问级别 因此,您需要在一个单独的文件中将
学生
类声明为公共
,或者将
项目2
放在与
学生
教师
相同的包中

public class student{   
    void print(){
        System.out.println("s");
    }   
}
检查

如果类没有修饰符(
public
private
…),它将使用默认修饰符,这意味着只能从同一个包访问该类

在这里,您将很容易看到:

访问级别 因此,您需要在一个单独的文件中将
学生
类声明为公共
,或者将
项目2
放在与
学生
教师
相同的包中

public class student{   
    void print(){
        System.out.println("s");
    }   
}

您应该将您的
学生
班级声明为公共班级,如下所示:

public class student{

    void print(){
        System.out.println("s");
    }

}
反正, 按照OOP开发方法,在同一个文件上有多个类(不是内部类)是一种不好的做法。它也不利于维护、调试、可重用组件和模块化


我建议您也将班级声明拆分为单独的文件(即使班级很小很简单)

您应该将您的
学生
班级声明为公共班级,如下所示:

public class student{

    void print(){
        System.out.println("s");
    }

}
反正, 按照OOP开发方法,在同一个文件上有多个类(不是内部类)是一种不好的做法。它也不利于维护、调试、可重用组件和模块化


我建议您也将类声明拆分为单独的文件(即使类很小且很简单)

问题是您的类学生具有默认修饰符,该修饰符将访问级别限制为同一个包(在包
project1
到包
project2
之外无法访问)。一个
java文件中只能有一个
public类

试试这个:

  • 在包
    project1
  • 在所述窗口中创建
    公共班级学生
    文件

  • 问题是,您的班级学生有默认修饰符,该修饰符将访问级别限制为同一个包(在包
    project1
    到包
    project2
    之外无法访问)。一个
    java文件中只能有一个
    public类

    试试这个:

  • 在包
    project1
  • 在所述窗口中创建
    公共班级学生
    文件

  • 您在访问修饰符方面遇到问题

    您的
    班级学生
    现在是
    套餐专用
    (无修改器)。使其
    公开
    ,以便在包外使用

    public class student{
     }
    

    详细信息请阅读。

    您在访问修饰符方面遇到了问题

    您的
    班级学生
    现在是
    套餐专用
    (无修改器)。使其
    公开
    ,以便在包外使用

    public class student{
     }
    

    详细阅读。

    首先,你不能有两种主要方法

    尝试将类设置为静态,以便可以使用Class.etc访问它们

    或者您可以尝试为每个类创建一个新对象(我认为这样更好)。 删除第二个主方法,只保留一个。 让这成为第一个:

    public static void main(String[] args){
    Student student1 = new Student();
    
    现在,您可以通过student1.Something使用此对象访问student类。 对所有类执行相同的操作,但包含main方法的类除外。 }


    也要让类以大写字母开头。

    首先,不能有两个主要方法

    尝试将类设置为静态,以便可以使用Class.etc访问它们

    或者您可以尝试为每个类创建一个新对象(我认为这样更好)。 删除第二个主方法,只保留一个。 让这成为第一个:

    public static void main(String[] args){
    Student student1 = new Student();
    
    现在,您可以通过student1.Something使用此对象访问student类。 对所有类执行相同的操作,但包含main方法的类除外。 }


    也要让课堂以大写字母开头。

    使用
    公共课堂学生{…
    ,并将
    教师
    项目1
    移动到单独的文件中-每个文件中只能有一个公共课堂。该课堂应该是公共的,可以在包外访问它。
    公共课堂学生
    您应该使用“公众"在您的学生类前面。这正是错误所说的CMON@vojta,他在类文件中已经有一个公共类,其中包含Student类…公共类项目1。这是不可能的。您需要在单独的类文件中定义该学生类并将其公开,或者创建一个具有默认访问权限的类,然后将其放在包2中。请参阅使用
    公共类学生{…
    ,并将
    教师
    项目1
    移动到单独的文件中-每个文件中只能有一个公共类。该类应为公共类,以便在包外访问它。
    公共类学生
    您应该只使用“public”在您的学生类前面。这正是错误所说的CMON@vojta,他在类文件中已经有一个公共类,其中包含Student类…公共类项目1。这是不可能的。您需要在单独的类文件中定义该学生类并将其公开,或者创建一个具有默认访问权限的类,然后把它放在包2中。看不,他的类文件中已经有一个包含学生类的公共类。@KalyanChavali-b