如何在Java中调用另一个类中的方法?

目前我有两节课。 课堂class和学校class。 我想在School类中编写一个方法来从教室类调用public void setTeacherName(String newTeacherName)。

classroom.java

public class classroom { private String classRoomName; private String teacherName; public void setClassRoomName(String newClassRoomName) { classRoomName = newClassRoomName; } public String returnClassRoomName() { return classRoomName; } public void setTeacherName(String newTeacherName) { teacherName = newTeacherName; } public String returnTeacherName() { return teacherName; } } 

School.java

 import java.util.ArrayList; public class School { private ArrayList classrooms; private String classRoomName; private String teacherName; public School() { classrooms = new ArrayList(); } public void addClassRoom(classroom newClassRoom, String theClassRoomName) { classrooms.add(newClassRoom); classRoomName = theClassRoomName; } // how to write a method to add a teacher to the classroom by using the // classroom parameter // and the teachers name } 

您应该将类​​的名称大写。 在你的学校课堂上这样做之后,

 Classroom cls = new Classroom(); cls.setTeacherName(newTeacherName); 

此外,我建议您使用某种IDE,例如eclipse,它可以帮助您使用代码为您生成getter和setter。 例如:右键单击Source – > Generate getters and setters

尝试这个 :

 public void addTeacherToClassRoom(classroom myClassRoom, String TeacherName) { myClassRoom.setTeacherName(TeacherName); } 
 class A{ public void methodA(){ new B().methodB(); //or B.methodB1(); } } class B{ //instance method public void methodB(){ } //static method public static void methodB1(){ } } 

在学校,

 public void addTeacherName(classroom classroom, String teacherName) { classroom.setTeacherName(teacherName); } 

顺便说一句 ,使用Pascal Case作为类名。 另外,我建议使用Map将教室名称映射到教室。

然后,如果您使用我的建议,这将有效

 public void addTeacherName(String className, String teacherName) { classrooms.get(className).setTeacherName(teacherName); } 

而不是在当前类setClassRoomName("aClassName"); 你必须使用classroom.setClassRoomName("aClassName");

你必须添加类’和类似的点

 yourClassNameWhereTheMethodIs.theMethodsName(); 

我知道这是一个非常晚的答案,但如果有人开始学习Java并随机看到这篇文章他知道该怎么做。