RT 父类变量引用子类对象后,有哪些优势和缺点?
比如下面代码:
- public static void main(String[] args) {
-
- //fill the people array with Student and Employee objects.
- Person[] people = new Person[2];
- people[0] = new Employee("XiaoZhang", 50000, 1989, 2, 15);
- people[1] = new Student("XiaoMing", "JAVA");
- //print out names and description of all Person objects.
-
- for(Person p : people)
- print(p.getName() + ", " + p.getDescription());
- }
复制代码
我知道可以集中调用子类共同拥有的方法 ,如gerName()等, 这应该算优势之一吧 , 还有其他的吗, 有哪些缺点?
另外,people[0]为什么不能调用Employee的getSalary()方法?
如:
这样会报错,说找不到符号:方法getSalary(),为什么呢?
- PersonTest.java:23: 找不到符号
- 符号: 方法 getSalary()
- 位置: 类 Person
- print(people[0].getSalary());
复制代码 |
|