欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java学习笔记之泛型(四):泛型接口

程序员文章站 2022-07-15 16:25:51
...
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");
	}
	
}