永发信息网

泛型和多态的关系

答案:3  悬赏:40  手机版
解决时间 2021-04-06 13:10
泛型和多态的关系
最佳答案
泛型和多态比较容易混淆, 简单来说:
泛型就是类型参数化, 好处是编译器会检查参数类型.
多态就是多个类由继承(实现接口)得到的一致外观, 好处是简化代码, 隔绝修改

实际上泛型和多态没有直接关系, 使用泛型在代码中就能按照指定类型的外观操作对象. 比较常用的泛型类型就是List和Map, 说个简单的例子吧:
List list = ....; //具体类型, 就跟多态没什么关系了
for (String str : list) {
System.out.println(str.substring(1));
}

List list = ...; //地球上但凡讲OO的都拿这个说事儿... 成员就是小猫小狗狮子老虎什么的
for (Animal animal : list) {
animal.say(); //喵, 汪....., 多态
}
全部回答
两者没有关系!
泛型是java1.5之后引入的一个特性,可以用限制传入参数的类型,比如:ArrayList<String> a=new ArrayList<String>();那a中就只能就能放入String 类型的字符串!
多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。比如方法的重载和覆写!
多态可以分为编译时多态和运行时多态,泛型是对类型的抽象,属于编译时多态。
比如说下面的私有字段x, 它的数据类型在编译的时候是动态决定的,具有多态性。

class A<T>
{
private T x;
}

A<string> a = new A<string>();

多态还可以分为:行为多态和属性多态。下面的p在给它赋值前是不知道它的性别的,在给它赋不同的值的时候就表现出属性多态了。如此同时,也具有了行为的多态, Walk().男人和女人走路的方式是不一样的,所以是多态了。

基类: Class Person, public virtual method Walk() {}
子类: Man, Woman

Person p = new Man();
Person p = new Woman();
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
包括重庆在内,上海、天津、广东、浙江、山东
换主板后windows变盗版了怎么破
中国娃娃的《拜大年》 歌词
腾云驾雾的意思和造句,别人都说少妇少妇腾云
德国牧羊犬应该买几个月大的来养。
小米充电宝多久充满
初一对三年后的自己应该有一些什么样的要求
单选题Smallplant_______thiscancatchinsec
激素脸如何排出激素,脸上激素怎么排出来
秦皇岛_聊城的票价是多少?有直达的吗?
查一下2012年农历12月11日1时53分出生的男孩
干天麻怎么泡酒的
乡居酒吧地址在什么地方,我要处理点事!
一质点做直线运动,当时间t=t0时,位移x>0,
Accord是什么车子的牌子?HONDA是什么车的名
推荐资讯
dell640m笔记本BIOS怎么改?
奉化到宁波多少公里,奉化到绍兴汽车时刻表
定婚彩礼"万紫千红一片绿"指的是多钱?
韦神吃鸡中的韦神是谁?
遗产分割,被告不接传票,不出席.可以视为放
苏州进厂体检身上有皮肤病能过吗
水窑村地址有知道的么?有点事想过去
kitty,taii,is,giri,a(.)连词成句。
中华古诗词大会第二季,中央一套中华古诗词大
人体的司空位在哪
紫色石蕊的组成
12_14岁女生
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?