您如何将变量传递给不同的方法

时间:2019-10-12 13:19:01

标签: java

如何将主方法中的tom.name,id年龄和年份变量传递给“ tomdetails”方法,以便该方法可以识别它们?

class Student {
    int id;
    int age;
    int year;
    String name;
}

class Staff {
    int id;
    int age;
    String name;
    String postcode;
    String department;
}

public class Main {

    public static void main(String[] args) {
        //Database
        //Students
        Student tom = new Student();
        tom.name = "Tom";
        tom.id = 1;
        tom.age = 15;
        tom.year = 10;

       }

    private static void tom_details() {
        System.out.println(tom.name);
        System.out.println(tom.id);
        System.out.println(tom.age);
        System.out.println(tom.year);
    }
}

2 个答案:

答案 0 :(得分:3)

虽然您可以 分别传递变量,但将引用传递给整个Student对象可能更有意义。例如:

public static void main(String[] args) {
    Student tom = new Student();
    tom.name = "Tom";
    tom.id = 1;
    tom.age = 15;
    tom.year = 10;
    printDetails(tom);
}

private static void printDetails(Student student) {
    System.out.println(student.name);
    System.out.println(student.id);
    System.out.println(student.age);
    System.out.println(student.year);
}

在那之后我要采取的下一步是:

  • Student一个接受名称,ID,年龄和年份的构造函数
  • Student中的所有字段设为私有(并可能最终确定),而不是通过方法(例如getName())公开数据
  • 可能在printDetails()中添加一个Student方法,以便您可以在tom.printDetails()方法中调用main

答案 1 :(得分:0)

我认为您只能传递对象tom: 将方法更改为

    private static void tom_details(Student tom) {
        System.out.println(tom.name);
        System.out.println(tom.id);
        System.out.println(tom.age);
        System.out.println(tom.year);
    }