【问题标题】:How to call a method in another class in Java?如何在Java中调用另一个类中的方法?
【发布时间】:2011-06-03 08:31:31
【问题描述】:

目前我有两节课。一个教室班和一个学校班。我想在 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<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
}  

【问题讨论】:

    标签: java


    【解决方案1】:

    您必须使用classroom.setClassRoomName("aClassName");,而不是在您当前的课程中使用setClassRoomName("aClassName");

    你必须添加类'并且在某个点上

    yourClassNameWhereTheMethodIs.theMethodsName();
    

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

    【讨论】:

      【解决方案2】:

      在学校,

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

      顺便说一句,类名使用 Pascal Case。另外,我建议使用Map&lt;String, classroom&gt; 将教室名称映射到教室。

      那么,如果你使用我的建议,那就行了

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

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 这并不能真正回答问题。也许它应该是对原始问题的评论而不是答案?不过,这不仅是有效的建议,也是合理的建议。
        • @jaydel :这里有很多建议,没错,但代码部分完美地捕捉到了(我想)大多数人正在寻找的东西。
        【解决方案4】:

        试试这个:

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

        【讨论】:

          【解决方案5】:
          class A{
            public void methodA(){
              new B().methodB();
              //or
              B.methodB1();
            }
          }
          
          class B{
            //instance method
            public void methodB(){
            }
            //static method
            public static  void methodB1(){
            }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多