Hoe een methode aanroepen in een andere klasse in Java?

Momenteel heb ik twee klassen. een klasklas en een schoolklas. Ik zou graag een methode in de klas School willen schrijven om openbare void setTeacherName(String newTeacherName) vanuit de klas aan te roepen.

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<classroom> classrooms;
    private String classRoomName;
    private String teacherName;
    public School() {
        classrooms = new ArrayList<classroom>();
    }
    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
}  

Antwoord 1, autoriteit 100%

Je moet de namen van je klassen met een hoofdletter schrijven. Doe dit daarna in je schoolklas,

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

Ik zou ook aanraden om een ​​soort van IDE, zoals Eclipse te gebruiken, wat u kan helpen bij uw code bijvoorbeeld Getters en Setters voor u genereren. Ex: klik met de rechtermuisknop op Bron – & GT; Genereer Getters en Setters


Antwoord 2, Autoriteit 33%

Probeer dit:

public void addTeacherToClassRoom(classroom myClassRoom, String TeacherName)
{
    myClassRoom.setTeacherName(TeacherName);
}

Antwoord 3, Autoriteit 24%

class A{
  public void methodA(){
    new B().methodB();
    //or
    B.methodB1();
  }
}
class B{
  //instance method
  public void methodB(){
  }
  //static method
  public static  void methodB1(){
  }
}

Antwoord 4, Autoriteit 24%

op school,

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

Btw , gebruik Pascal Case voor klasse namen. Ook zou ik een Map<String, classroom>voorstellen om een ​​klasnaam in kaart te brengen in een klaslokaal.

Dan, als u mijn suggestie gebruikt, zou dit

werken

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

Antwoord 5, Autoriteit 19%

In plaats van dit in uw huidige klas te gebruiken setClassRoomName("aClassName");U moet classroom.setClassRoomName("aClassName");

u moet de klasse toevoegen ‘en op een punt als

yourClassNameWhereTheMethodIs.theMethodsName();

Ik weet dat het een erg laat antwoord is, maar als iemand Java begint te leren en deze post willekeurig ziet, weet hij wat hij moet doen.

Other episodes