问:由于Java应用程序是由若干个类构成的,因此经常需要在一个类中访问另一个类中的成员和方法,请问应该如何在一个类中访问另一个类的方法?
答:使用Java开发的软件,通常是由若干个类和接口组成的,所以需要在类之间进行方法调用,以完成所需要的软件功能,这可以通过在一个类中定义另一个类的实例,然后通过该实例访问那个类中的方法。
例如有两个类Student和Teacher,分别代表学生类和教师类,接下来看下面的代码:
学生类Student
package com.mingrisoft;
public class Student {
private int id; // 编号
private String name; // 姓名
private boolean pass; // 是否通过考试,true表示通过,false表示未通过
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPass(boolean pass) {
this.pass = pass;
}
public boolean isPass() {
return pass;
}
下面代码在教师类中创建学生类的实例,并调用学生类中的方法,完成为学生评分的功能,如果通过考试,则将其pass属性设置为true,否则设置为false。
教师类Teacher
预览源代码打印
package com.mingrisoft;
public class Teacher {
public static void main(String[] args) {
Student student = new Student(); // 创建学生类的实例
student.setId(110100); // 指定编号
student.setName("张*超"); // 指定姓名
student.setPass(true); // 指定是否通过考试
System.out.println("编号:" + student.getId()); // 输出编号
System.out.println("姓名:" + student.getName()); // 输出姓名
System.out.println("是否通过考试:" + student.isPass()); // 输出是否通过考试
System.out.println();
student.setId(110108); // 指定编号
student.setName("李*明"); // 指定姓名
student.setPass(false); // 指定是否通过考试
System.out.println("编号:" + student.getId()); // 输出编号
System.out.println("姓名:" + student.getName()); // 输出姓名
System.out.println("是否通过考试:" + student.isPass()); // 输出是否通过考试
}
}