黑马程序员技术交流社区
标题:
求多态具体点的定义,越详细越好
[打印本页]
作者:
不冬眠的蚂蚁
时间:
2014-1-14 10:11
标题:
求多态具体点的定义,越详细越好
毕老师说多态是一中事物的不同表现形态,太抽象了。
你们有没有好点的例子和定义列举列举啊,求详细和全面。谢谢
作者:
高亮亮
时间:
2014-1-14 10:22
本帖最后由 高亮亮 于 2014-1-14 10:24 编辑
一犬类,继承了动物类,实现了导盲接口.
情况一: 哥们,给我来一个动物--->送上该狗一条.
情况二: 哥们,给我来一个能导盲的--->送上该狗一条.
这两种情况,第一种,是将该狗看成一个动物,匹配所需.
第二种情况,则是将该狗看成一个可以导盲的东西,匹配所需.
不知道我这样理解能不能帮到楼主...
这样情况,分别就是Java多态中的:父类引用,指向子类对象的和父接口引用,指向子实现类对象的体现.
作者:
mrwise1991
时间:
2014-1-14 10:57
在处理类的层次结构时,经常想把一个对象不当做它所属的特定类型来对待,而是将其当做其基类的对象来对待(即所谓的向上转型或者向上抽取),这就是多态的思想
其表现为,父类对象可以通过子类实例化,而不是由其自身的类实例化,即
子类实例化对象可以转换为父类实例化对象,这就是对象的多态性
作者:
黄晓鑫
时间:
2014-1-14 13:36
例子 你要玩电脑 电脑被你爸爸锁了密码 你要进入电脑你是用你爸爸设置的密码 这就是多态了
你用你爸爸的密码进入的 你现在就是子类访问父类 .
你爸爸用你爸爸设置的密码进入电脑.这时就是父类类型访问父类
public class computer
{
}
作者:
630681386@qq.co
时间:
2014-1-14 13:37
定义:在同一类中或者在子类和父类中对同一方法的不同实现
分类:方法的重载和重写
重载:
在同一个类中或在子类和父类中具有相同名称,不能参数的方法的形式
调用:
通过参数类型和数量进行匹配
重写:
在子类和父类中存在具有相同的返回值、名称、参数列表的方法的形式
注意:
重写方法的可访问性不能低于被重写方法
调用:
看对象。对象是父类就调用父类的方法,对象是子类就调用子类的方法 。
作者:
黄晓鑫
时间:
2014-1-14 13:46
public class 父子 {
public static void main(String[] args) {
子类型 子 = new 子类型();//创建子类型对象.
父类型 父类型变量 = (父类型)子;//把子类型转成父类型.
父类型变量.进入电脑();//调用父类型的进入方法.
子类型 子类型变量 =(子类型)父类型变量;
}
}
class 父类型
{
public void 进入电脑(){
System.out.println("父亲进入");
}
}
class 子类型 extends 父类型{
public void 进入电脑(){
System.out.println("儿子进入");
}
}
作者:
不冬眠的蚂蚁
时间:
2014-1-14 14:48
谢谢了 把你们的回答整合一下就差不多解决问了
大家主要说了两点:
1 是从定义入手
引用四楼
定义:在同一类中或者在子类和父类中对同一方法的不同实现
分类:方法的重载和重写
2 是从应用,和不同形态的体现入手
就是大家举得例子和一些总结
父类的引用指向了自己子类的对象(向上转型)
父类的引用也可以接受自己的子类对象。
还有一个事物在不同时刻表现的不同形态,就像上转型下转型等
谢谢大家
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2