如何在java中使用另一个包中的类?
我想知道如何使用另一个包中的类 下面是一个文件,它位于包project1中如何在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 { /** * @
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