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");
}
}
Java学习笔记之泛型(四):泛型接口
最新推荐文章于 2022-12-08 19:09:14 发布