永发信息网

java 对象造型的意义 java

答案:3  悬赏:40  手机版
解决时间 2021-03-28 02:05
java 对象造型的意义 java
最佳答案
模块与重用

以你的例子来说吧。你那例子是课本用来告诉我们怎么用父类引用子类对象的,所以根本没有意义,于是你自然会问“为什么不直接使用B b1=new B();?”这样的问题了。

要知道把子类的引用给父类有什么意义,这要在够大型的架构里面才能体现的。比如说Java的awt、swing等GUI的框架里面,你随处可以看到继承重用。

就好像说,一个按钮和一个文本框,这两个都是可以显示出来的图形组件;而你要把这两个组件添加到某某窗口frame。那么在这个窗口frame应该有一个方法是可以添加图形组件的,而这个方法必须带有一个参数,这个参数表示要添加的组件,如果让你来设计,你觉得这个参数的类型是什么?显然,这个参数的类型应该表示所有可以被绘制的图形组件(如果只表示按钮或文本框的话,那么以后你新设计了一个单选框,那不是要把frame的代码改动了)。实际上它的这个添加方法是这么被定义的:add(Component comp)。这里的Component是你要添加的按钮或文本框的顶级父类了。
全部回答
这个问题涉及到多态,下面是多态的解释
class Animals {
jiaosheng() {
System.out.print("动物叫声");
}
}
class Cat extends Animals {
jiaosheng() {
System.out.print(" 猫叫声");
}
}
class Dog extends Animals {
jiaosheng() {
System.out.println("狗叫声");
}
}
public class Text { //定义一个测试类
void printJiaosheng(Animals a) {
a.jiaosheng();
}
public static void main(String args[]) {
Text t = new Text();
Animals c = new Cat();
Animals d = new Dog();
t.printJiaosheng(c);
t.printJiaosheng(d);
}
}
答案:猫叫声 狗叫声
根据这段代码理解一下多态
如果像你那样写的话,要在Text累打印每个动物的叫声,那么有几个动物就要写多少个printJiaosheng()的方法,而像这样,就只要写一个,就能打印每个动物的叫声
或许你现在看不出什么但当你编写大程序是就会发现这种写法的好处,这也是一种设计模式吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
理肤泉与依泉的喷雾哪个好
詹丽花现在哪去了,还在北路帮子吗
如果注册PPmoney理财平台会员后可以注销嘛?
美联储一加息黄金价格为什么就要跌?
我最喜欢穿紧身牛仔裤的女人了,有没有道友
lol龙刀和花木兰刚出来的时候是多少钱
英文翻译(是葡萄酒标签上的)
香港有没有死刑的
玩什么游戏可以让心情好起来
为什么在手机上查不到Z204次列车的票务信息
我国人口超过500万的少数民族有那些
酸奶可以煎着吃,你知道吗
我跟工头在户家干活,被户家狗咬伤责任在谁呢
JL476ZQCC和JL476ZQCA发动机哪个好?
安徽阜阳咸麻糊的做法
推荐资讯
求霸道男神步步逼婚百度云
如何分辨真洋酒和假洋酒?
布拉柴维尔的介绍
结婚聘书应由谁送达?
人生前把丧葬费公证给他人有效吗
前方施工300米的含义是什么
太原小店区有哪些小区超过15年了
请问橡胶密封圈有哪些品牌?
仰天山的自然景观
拍过电影的明星有哪些
起亚六缸的发动机正时图
在哪里可以看宅男必备?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?