[单选题]class Person {
    public void print() {
        System.out.print("Person ");
    }
    public void printMyGender(String s) {
        this.print();
        System.out.print(s + " ");
    }
}
class Gender {
    String type = "gender";
    public void print(Person p) {
        p.printMyGender(type);
    }
}
class Female extends Gender {
    public Female() {
        type = "female";
    }
}
class Male extends Gender {
    public Male() {
        type = "male";
    }
}
class Employee extends Person {
    public void print() {
        System.out.print("Employee ");
    }
}
class Manager extends Employee {
    public void print() {
        System.out.print("Manager ");
    }
}
public class Test {
    public static void main(String[] args) {
        Manager man = new Manager();
        Employee em = new Employee();
        Gender gender1 = new Male();
        Gender gender2 = new Female();
        gender1.print(man);
        gender2.print(em);
    }
}
对于以上代码,其运行结果是

A
A.Person male Person female
B
B.Person gender Person gender
C
C.Manager male Employee female
D
D.Manager gender Employee gender
正确答案:C
题目解析
        Manager man = new Manager();
        Employee em = new Employee();
        Gender gender1 = new Male(); //向上转型
        Gender gender2 = new Female(); //向上转型
        gender1.print(man); //调用Gener的print()方法->Person的 printMyGender()方法,参数为man
        gender2.print(em);
扫描二维码
免费搜题、免费刷题、免费查看解析