Java学习笔记之泛型(四):泛型接口
package com.collection.genericity; /* 泛型接口: 定义格式: interface 接口名<自定义泛型> { } 泛型接口注意事项: 1、接口上自定义泛型的具体数据类型是在实现接口的时候指定的; 2、在接口上自定义的泛型,如果在实现接口的时候,没有指定具体的数据类型,那么默认为Object类型; */ interface Dao<T>{ // 如果不确定要添加元素的类型,那么可以定义成泛型; public void add(T t); } // 泛型接口的注意事项1: public class Demo4 implements Dao<String> { @Override public void add(String t) { // TODO Auto-generated method stub } } //泛型接口的注意事项2: class Demo5 implements Dao{ @Override public void add(Object t) { // TODO Auto-generated method stub } } /* 需求:实现一个接口的时候如果还不能明确要操作的数据类型,要等到创建接口实现类对象的时候才能确定泛型的具体数据类型; 如果要延长接口自定义泛型的具体数据类型,格式如下: class Demo6<T> implements Dao<T>{ } */ // 在创建接口的时候还不能确定要操作的具体数据类型,那么可以在接口的实现类上也定义一个泛型; class Demo6<T> implements Dao<T>{ @Override public void add(T t) { // TODO Auto-generated method stub } public static void main(String[] args) { // 等到创建接口实现类对象的时候才能确定泛型的具体数据类型; Demo6<String> d = new Demo6<String>(); d.add("aaa"); d.add("bbb"); } }
上一篇:
IDEA上Java项目控制台中文乱码