多态到底有什么作用?
解决方案 »
- 为什么这样写他会不停的一直循环
- ==与equals
- 一个jdbc的简单问题在线等答案,答对立刻送分
- 请问JFrame的背景颜色问题
- JDBCB联Sybase数据库时,为什么出现 Connection refused: connect错误呢?
- 有什么办法可以查出内存泄漏(OutOfMemory)发生在什么地方?
- ==Applet中可以设置java虚拟机的运行中的一些属性/参数吗?
- 刚毕业的在上海java程序员的薪资水平怎么样???
- 请问我能不能把一个对类的引用强制转换为一个字节数组的引用
- 有谁能讲讲关于io方面的知识?80分
- java 读取Excel时数据位数保留问题
- bat批处理怎么修改文本中内容?
多态
}
class A implements I{
}
class B implements I{
}
class Test{
public static void method(I i){
}
}
这里用多态可以少写很多代码
要不你这个方法得写好多分别对应不同的参数类型
我需要获取一个DTO的主键,我并不知道具体是哪一张表的DTO,我写的需要满足所有的实体类,我可以用Object去接所有传入的DTO对象,再用反射去取主键的值,可每张表的主键字段名还不一样,这样调用者还要再传一个参数,告诉我哪一个字段才是主键,同时,反射的性能肯定是不如直接用get方法的
这时我可以用一个BaseDTO接口来代替Object类型接传入的参数,同时我在BaseDTO中加入一个获取主键值的方法,所有别的DTO都必须实现这个接口,当然,也同时必须实现获取主键这个方法,实现的时候只要把确定为主键字段的值返回,这样我再去获取主键值就非常简单了,直接调用BaseDTO中的获取主键值方法,但实际上我调用的是调用者调用时所传入的DTO的方法,这就是多态,好处不仅限于此,可以随着经验的丰富,再琢磨