​如何在一个类中访问另一个类的方法?

问:由于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());        // 输出是否通过考试

    }

}