类和子类打印

时间:2016-03-24 19:53:53

标签: java printing subclass

我正在尝试打印学生子类的等级,我觉得我需要某种类型的if语句或数组。我正在尝试制作一个代码,可以传递一个数字,例如3为“Junior”但是可以也可以通过代码如Student.JUNIOR来调用打印年级的初级。我想要的输出是:

class Person {
    String name;
    String campus;
    String phone;
    String email;
    int FRESHMAN = 1;
    int SOPHMORE = 2;
    int JUNIOR = 3;
    int SENIOR = 4;

    public Person(String n, String cam, String cell, String mail) {
        name = n;
        campus = cam;
        phone = cell;
        email = mail;
    }

    public String toString() {
        return "Name:" + name + "; Campus:" + campus + "; Phone:" + phone + "; Email:" + email + " ";
    }
}

class Student extends Person {
    int grade;

    public Student(String n, String cam, String cell, String mail, int grade) {
        super(n, cam, cell, mail);

    }

    public String toString() {

        return super.toString() + "\nClass:";
    }
}

class Employee extends Person {
    private String title;

    public Employee(String n, String cam, String cell, String mail, String position) {
        super(n, cam, cell, mail);
        title = position;
    }

    public String toString() {
        return super.toString() + "\nTitle:" + title;
    }
}

public class Exam3c {
    public static void main(String[] args) {

        String name = "David";
        String campus = "Terry";
        String phone = "302-573-3254";
        String email = "Genos@edu";

        Person P1 = new Person(name, campus, phone, email);
        System.out.println("P1: \n" + P1);

        Student S1 = new Student(name, campus, phone, email, 1);
        System.out.println("S1: \n" + S1);

        Student S2 = new Student("Bill While", "Nowhere", "012-345-6789", "bw@nowhere.edu", 3);
        System.out.println("S2: \n" + S2);

        Employee E1 = new Employee(name, campus, phone, email, "Faculty");
        System.out.println("E1: \n" + E1);
    }
}

1 个答案:

答案 0 :(得分:-1)

我认为你正在寻找枚举。它们有很多非常有用的功能;除了以一种“魔法蚂蚁”#34;不是,你也可以相当流畅地将它们视为字符串进行调试。