如何在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并随机看到这篇文章他知道该怎么做。