问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于think in java 中的多态性的问题

发布网友 发布时间:2022-05-06 15:59

我来回答

4个回答

热心网友 时间:2022-07-01 08:08

Shape c = new Circle()和Circle c = new Circle()有何区别??

怎么说 Shape c = new Circle()来说吧

Shape c 创建一个Shape 的对象 c 但是他的实例也是是Shape 类的.因为Circle是继承自Shape 的. 但是c只能调用到所有Shape 中的方法.而Circle中间的方法是没有办法调用到的..要是如果Circle重写了Shape 中间的方法的话调用执行的还是子类的方法.

Shape c = new Circle();
在理解一下...Shape 不光可以是一个类.也可以是一个虚类.或者说说一个接口.而Circle是必须继承或者实现了Shape 的一个类.

补充一下..个人认为多态不一定是必须只有继承才可以实现的

public void draw(){
System.out.println("circle drawing");
}

public void draw( int a){
System.out.println("circle drawing"+a);
}
我想这也是多态的一种表现吧..通过方法的重写..
至于为什么...我想想要..我也经常这么用但还没有总结过..
一般我是用接口去进行这种操作.因为接口没有办法实例化..
所以要实例化一个他的实现..

xxpniu 说的到有那么点点感觉..例子很不错..
我复述一下..学校是一个类.一个老师就是一个接口.N个老师就是N个接口.这个学校实现n个老师和其他的接口.但是你得到学校就能得到老师这是肯定的.老师 c = new 学校();就好比用学校直接得到了老师..
省心啊..不用在学校里面去辛辛苦苦的去找一个老师出来了..直接就能得到了老师...差不多这意思吧..

热心网友 时间:2022-07-01 08:08

Circle 类里的
Shape s = new Circle();
应该写成
Shape s = new Shape();
这样的显示结果是不同的。

Shape s = new Circle();
这样的写法是上溯类型,本质上这样还是建一个子类:Circle
所以draw()方法还是调用的子类Circle的方法。
所以打印的效果是一样的

楼上两位说的比较深刻,建议采用楼下两位的意见!

热心网友 时间:2022-07-01 08:09

我想问一下你到底知道什么叫多态吗?
多态的意思就是多种形态,也就是同样的一个消息,
发送给不同的对象导致不同的行为,实际上,你给出的例子就是
典型的多态的例子,在Java中,多态是基于继承的基础上的,在C++中还
需要虚函数的支持。
有了继承,也就有了向上类型转换,
所以一个继承了Shape类的Circle类所产生的对象可以直接
赋给Shape,这是因为原型也是一种图形。多态采用的是动态联编,也就是
在运行时候才确定所调用的行为。

Circle s = new Circle();
这里产生了一个Circle类,同时调用的是默认的Circle()构造函数,
在该构造函数中会自动调用super(),也就是父类的构造函数,所以
执行顺序为
create a new shape
create a new circle
最后调用了draw方法,执行下列行为
circle drawing

Shape s = new Circle();
这里也是同样道理,new Circle()也是产生了一个Circle对象,所以
执行的前两句结果跟上面的那个例子一样,关键就是Shape的引用所调用
的方法draw,这就体现了多态了,通过动态联编,在运行时确定了它所指向
的对象是Circle,所以调用的自然也就是Circle中的draw方法啦。

热心网友 时间:2022-07-01 08:10

希望这个能对学java的同志们有个帮助
我把类和事例做个比喻
类就好比学校的组织结构的一个规范.
中学肯定有高一高二但这是存在学校设计上的
这就好比定义了一个类
而现实中的一个学校就是一个实例.我们可以根据学校的结构来找到相关的负责人,比如高三年级年级组长
类的继承好比某个学校多了个少年班 之前的组织结构就必须扩充
然而这个学校仍旧可以按之前的组织找到高三年纪.
但是你不能用小学的组织结构放在一个高中学校上.
你也不能把有少年班的组织结构来找没有少年班的学校
大概就这些比较乱

最终要明白 类只是一中数据结构,是给电脑看的 让电脑知道怎么去存取数据.
该怎么去操作数据.对象(实例)是一种放在机器里面的数据组合.是我们操作的对象.所以我们操作对象(实例)就必须告诉电脑,数据的结构
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单机组装6000元预算,INTEL和AMD下不同的配置方案 手上有5000元,想DIY一台台式机,主要是玩大型单机游戏,像孤岛危机2。求... ...及各自优点缺点和如何修改。。 CPU 至强 E3 1230 v2主板 微星Z... 求配家用游戏电脑4000-6000 嘴巴上长水泡怎么办? 嘴巴旁边长了水泡怎么回事 他不回信息的句子 市面上有哪些浪漫又个性的牛仔单品值得入手? 2021年流行什么外套显瘦不挑身材 夏季有哪些百搭又显高级的单品值得选择? 鸭蛋在家怎么才能孵出小鸭 JAVA多态怎么解释? java中的多态性如何理解子类当作父类使用,它当作父类又是如何使用,对什么使用的? 好吃的豆腐皮包肉是怎样做的? 鸭蛋在家怎么孵出小鸭 关于java中的对象多态性 刚出生的小鸭子如何养? 豆腐皮包肉和拌茄子 做法有些问题,请高手指教 面向对象中有关多态的内容 如何做出美味好吃的豆腐皮包肉? 华师在线09面向对象程序设计作业答案 C++程序设计题目 以下关于运行时的多态性的描述中,错误的是() 爆米花:谁之过台湾的爆米花哦? 爆米花的英文怎样写? 急急急!用英语说一下制作爆米花的过程! 我没离婚想把户口迁移出来可以吗 爆米花是什么形状 A云朵状.B蹦沙卡拉卡状 C蘑菇状.D以上都是? 不离婚可以把户口迁回娘家吗 去影院看电影为什么还要抱着爆米花? 在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是(C)请解释四个选项,最好结合 豆腐皮包什么馅最好吃 自然界中的小鸭子是怎么孵化的 关于Java多态性的问题,到底调用的是父类的还是子类的方法? 如何孵化宠物鸭 有关类的说法正确的是( ) c#中对成员变量有多态性的说法吗 小班室外游戏网小鱼配什么音乐 什么是编钟?你知道怎样演奏它吗?一般由哪些部分组成 古老的铜钟发出了声音是什么样的? 鼻子发干,还很痒,怎么办啊? 鼻子干燥发痒有什么妙招 鼻子里面外面很痒又干怎么回事 鼻子又干又痒该怎么治疗才好呢 鼻子经常干,痒怎么办,要吃药嘛? 最近觉得鼻子又干又痒,怎么办? 鼻孔干痒怎么办 最近刚开始喝威士忌,有没有适合新人喝的好酒推荐? 最近喜欢上了喝威士忌,入坑尚浅,有没有好的酒推荐? 同学聚会喜欢把喝完的酒存起来,所以像选一款有没有好看好喝的威士忌,有推荐的吗?