黑马程序员技术交流社区

标题: 在泛型类中,如何直接打印子类继承了父类中各自的全部内容? [打印本页]

作者: chenyanwei6    时间: 2016-11-22 23:02
标题: 在泛型类中,如何直接打印子类继承了父类中各自的全部内容?
在这段代码中。子类继承了父类,如何打印子类和父类中各自的全部内容?

package com.heima.my_test;

import java.util.ArrayList;
import java.util.Iterator;

class Animal{
        private String name;
        private int foots;
       
        Animal(String name,int foots){
                this.name = name;
                this.foots = foots;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
        public int getFoots() {
                return foots;
        }
        public void setFoots(int foots) {
                this.foots = foots;
        }   
}
class Cat extends Animal{

        Cat(String name, int foots) {
                super(name, foots);
        }
       
}
public class GenericDemoTest03 {
  public static void main(String[] args){
          ArrayList<Animal> al01 = new ArrayList<Animal>();
          al01.add(new Animal("爬行", 4));
          al01.add(new Animal("飞禽", 2));
          
          pp_AC(al01);
          
          ArrayList<Cat> al02 = new ArrayList<Cat>();
          al02.add(new Cat("Tom", 4));
          
          pp_AC(al02);
          
  }
  public static void pp_AC(ArrayList<? extends Animal> al){
          Iterator<? extends Animal>  it = al.iterator();
          while(it.hasNext()){
                //如何打印对象中的所有内容
                 System.out.println(it.next());//如何打印对象中的所有内容
          }
  }

}
作者: 文明密码    时间: 2016-11-22 23:15
while循环中,写Animal a = it.next() ;
System.out.println(a.getName() + a.getFoots()) ;

作者: 文明密码    时间: 2016-11-22 23:16
没有亲测,你试试

作者: chenyanwei6    时间: 2016-11-22 23:29
文明密码 发表于 2016-11-22 23:16
没有亲测,你试试

刚才打印了一下,结果对了。有点不明白,上面用到的事泛型,在while中那样写,怎么就可以打印出来了呢?
作者: 文明密码    时间: 2016-11-22 23:52
跟泛型没啥关系吧,这个主要是对象向上转型,调用方法,而这些setter和getter方法Cat类继承而来,所以都能打印

作者: chenyanwei6    时间: 2016-11-23 13:25
文明密码 发表于 2016-11-22 23:52
跟泛型没啥关系吧,这个主要是对象向上转型,调用方法,而这些setter和getter方法Cat类继承而来,所以都能 ...

O(∩_∩)O谢谢
作者: 袁志娜    时间: 2016-11-23 23:27





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2