为什么要用泛型接口
来源:互联网 发布:fifa17金币价格淘宝 编辑:程序博客网 时间:2024/05/13 01:54
Java代码
abstract class BaseBean{
//略
}
Interface IA{
public BaseBean doSomething();
}
下面我们继承这个BaseBean
Java代码
class ChildBean extends BaseBean{
}
接下来实现接口
Java代码
class IAImpl implements IA{
public BaseBean doSomething(){
return new ChildBean();
}
}
好了这是惯常的写法,但是同学们有没有发现一个问题当你返回得到BaseBean的时候其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,因为调用者完全不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething返回的是一个对象这个对象extends于BaseBean
那么接下来我们就用泛型接口吧:
Java代码
Interface IA<T extends BaseBean>{
public T doSomething();
}
class IAImpl implements IA<ChildBean>{
public ChildBean doSomething(){
return new ChildBean();
}
}
这样当你调用这个实现的时候就能明确地得到返回的对象类型,清楚明了,这就是泛型接口的使用.
abstract class BaseBean{
//略
}
Interface IA{
public BaseBean doSomething();
}
下面我们继承这个BaseBean
Java代码
class ChildBean extends BaseBean{
}
接下来实现接口
Java代码
class IAImpl implements IA{
public BaseBean doSomething(){
return new ChildBean();
}
}
好了这是惯常的写法,但是同学们有没有发现一个问题当你返回得到BaseBean的时候其实你需要的是他的实例而不是这个真实的Bean,而当你强转时又需要注意两点: NullPoint 和 类型是否对,这个很麻烦,因为调用者完全不知道调用什么.那么我们来描述我们需要什么:
我们需要IA的doSomething返回的是一个对象这个对象extends于BaseBean
那么接下来我们就用泛型接口吧:
Java代码
Interface IA<T extends BaseBean>{
public T doSomething();
}
class IAImpl implements IA<ChildBean>{
public ChildBean doSomething(){
return new ChildBean();
}
}
这样当你调用这个实现的时候就能明确地得到返回的对象类型,清楚明了,这就是泛型接口的使用.
0 0
- 为什么要用泛型接口
- 为什么要使用接口
- 为什么使用接口
- 为什么使用接口编程
- 为什么要使用接口?
- 为什么使用接口
- 为什么要定义接口?
- 为什么要有Set接口
- spring为什么实现接口?
- 为什么使用接口?
- java 为什么有接口
- java为什么有接口?
- 为什么要接口测试?
- 为什么IEnumerator接口没有继承IDisposable接口
- 为什么要使用接口编程
- 为什么要使用接口编程
- 为什么要使用接口编程
- 为什么要使用接口编程
- YNDd3GUCCI包包 0xzX 3fu
- Qt Quick里的图形效果——渐变(Gradient)
- Leetcode: Populating Next Right Pointers in Each Node
- leetcode-unique binary search tree II
- 机器学习与智能优化 之 线性模型
- 为什么要用泛型接口
- ACM简单题——HDU2000 ASCII码排序
- install SOAPpy遇到的问题
- ACM简单题——HDU2001 计算两点间的距离
- C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型
- ACM简单题——HDU2002 计算球体积
- ACM简单题——HDU2003 求绝对值
- ACM简单题——HDU2004 成绩转换
- ACM简单题——HDU2005 第几天?