2011-01-04 9 views
3

Actuellement, j'ai deux classes. un cours en classe et une classe d'école. Je voudrais écrire une méthode dans la classe School pour appeler public void setTeacherName (String newTeacherName) de la classe en classe.Comment appeler une méthode dans une autre classe en Java?

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 
} 

Répondre

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

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

Essayez ceci:

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

Vous devez mettre les noms de vos classes en majuscule. Après avoir fait cela faire dans votre classe d'école,

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

Aussi je vous recommande d'utiliser une sorte de IDE tels que Eclipse, qui peut vous aider avec votre code, par exemple, générer des accesseurs pour vous. Ex: faites un clic droit Source -> Générer accesseurs

+0

Cela ne répond pas vraiment à la question. Peut-être que ce devrait être un commentaire sur la question originale au lieu d'une réponse? Ce n'est pas seulement un conseil valable mais aussi des conseils judicieux. – jaydel

2

à l'école,

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

BTW, Cas d'utilisation Pascal pour les noms de classe. En outre, je suggère un Map<String, classroom> pour mapper le nom d'une classe à une salle de classe.

Ensuite, si vous utilisez ma suggestion, cela fonctionnerait

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

Au lieu d'utiliser dans votre classe actuelle setClassRoomName("aClassName"); vous devez utiliser classroom.setClassRoomName("aClassName");

Vous devez ajouter la classe et à un comme point de

yourClassNameWhereTheMethodIs.theMethodsName(); 

Je sais qu'il est une réponse vraiment en retard, mais si quelqu'un commence à apprendre Java et voit au hasard ce poste, il sait wha t faire.

0

Essayez this.I pense qu'il travaillerait:

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