A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小穿钉 高级黑马   /  2015-11-17 14:51  /  239 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package cn.generic;

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

/**
*
* 泛型限定的第一种体现
* @author Administrator
*
*/
public class GenericDemo_3 {

        public static void main(String[] args) {
                //创建集合对象,并确定了泛型类型,左右类型要一致,否则会报错
                ArrayList<Student> al = new ArrayList<Student>();
                //向集合中添加元素       
                al.add(new Student("李红",16));
                al.add(new Student("霓裳",18));
               
                //创建集合对象,并确定了泛型类型
                ArrayList<Teacher> al1 = new ArrayList<Teacher>();
                //向集合中添加元素
                al1.add(new Teacher("李虹霞",38));
                al1.add(new Teacher("李伯河",36));
               
                //调用方法打印限定的类型元素
                printCollection(al);
                printCollection(al1);
               
        }
        /**
         * 调用迭代器,打印集合中的元素
         * @param al
         */
        private static void printCollection(ArrayList<? extends Person> al) {//泛型限定的一种体现
                //遍历集合,获取所有元素
                Iterator<? extends Person> it = al.iterator();
                while(it.hasNext()){
                        Person p = it.next();
                        System.out.println("姓名:"+p.getName()+"  年龄:"+p.getAge());
                }
        }

}
/**
* 创建一个Person类(父类)
* @author Administrator
*
*/
class Person{
        //私有成员变量
        private String name;
        private int age;
        //构造方法初始化对象
        public Person(String name, int age) {
                super();
                this.name = name;
                this.age = age;
        }
        //set  get  方法
        public String getName() {
                return name;
        }
       
        public void setName(String name) {
                this.name = name;
        }
        public int getAge() {
                return age;
        }
        public void setAge(int age) {
                this.age = age;
        }
       
}
/**
* 创建学生类(子类)
* @author Administrator
*
*/
class Student extends Person{
        //构造函数初始化对象
        public Student(String name, int age) {
                super(name, age);
               
        }       
}

/**
* 创建一个老师类(子类)
* @author Administrator
*
*/
class Teacher extends Person{
        //构造函数初始化对象
        public Teacher(String name, int age) {
                super(name, age);
               
        }

       
}

1 个回复

倒序浏览
学习了,顶一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马