Frage Wie rufe ich eine Methode in einer anderen Klasse in Java auf?


Zur Zeit habe ich zwei Klassen. ein Klassenraum und eine Schulklasse. Ich möchte eine Methode in der School-Klasse schreiben, um public void setTeacherName (String newTeacherName) von der Klasse classroom aufzurufen.

klassenzimmer.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;
    }
}

Schule.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
}  

5
2018-01-04 11:47


Ursprung


Antworten:


Sie sollten die Namen Ihrer Klassen groß schreiben. Nachdem du das in deiner Schulklasse gemacht hast,

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

Ich würde auch empfehlen, dass Sie eine Art von IDE wie Eclipse verwenden, die Ihnen mit Ihrem Code helfen kann, Getter und Setter für Sie zu generieren. Bsp: Rechtsklick auf Quelle -> Getter und Setter erzeugen


11
2018-01-04 11:53



Versuche dies :

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

6
2018-01-04 11:50



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

class B{
  //instance method
  public void methodB(){
  }
  //static method
  public static  void methodB1(){
  }
}

3
2018-01-04 11:49



in der Schule,

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

ÜbrigensVerwenden Sie Pascal Case für Klassennamen. Außerdem würde ich vorschlagen, a Map<String, classroom> um einen Klassenzimmernamen einem Klassenzimmer zuzuordnen.

Dann, wenn Sie meinen Vorschlag verwenden, würde dies funktionieren

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

2
2018-01-04 11:55



Anstatt dies in Ihrer aktuellen Klasse zu verwenden setClassRoomName("aClassName"); Sie müssen verwenden classroom.setClassRoomName("aClassName");

Sie müssen die Klasse hinzufügen und an einem Punkt wie

yourClassNameWhereTheMethodIs.theMethodsName();

Ich weiß, dass es eine wirklich späte Antwort ist, aber wenn jemand anfängt Java zu lernen und diesen Post zufällig sieht, weiß er, was zu tun ist.


-1
2018-01-29 23:52