黑马程序员技术交流社区

标题: 子类父类问题 [打印本页]

作者: 边亮    时间: 2013-3-12 20:01
标题: 子类父类问题
父类  父类名=new  子类();
就像student是person的子类
person是父类
person  per=new student();
这样做有什么意义?per还是只能调用父类的属性方法.
作者: 边亮    时间: 2013-3-12 21:43
s是不是子类多的时候好调用
作者: 杨博    时间: 2013-3-12 22:28
你这就是:父类引用指向子类对象
基本概念:
父类 引用=new 子类();

调用实例方法:
前提:查看父类中是否存在该方法       调用:调用的是子类中的重写的方法。
调用实例属性:
前提:父类中是否存在属性             调用:父类中的属性。                       
类属性:
前提:查看父类中是否存在该属性      调用: 调用的是父类中的类属性
类方法:
前提:查看父类中是否存在该属性      调用: 调用的是父类中的类方法
关于对象向上向下转型
向上转型:  父类引用指向子类对象  自动转换
向下转型: 将父类的引用强制转换成子类的引用。 强制转换
为什么向上转型:它提高了代码的扩展性与可维护性。
为什么向下转型: 因为要调用子类中特有的行为。

当他调用实例方法时,调用的是子类中重写的方法
另外,当他向下转型时,可以调用子类中特有的行为,不仅仅可以调用父类的属性方法啊
作者: 曾玉锋    时间: 2013-3-13 00:30
面向对象编程三大特性:封装、继承、多态。父类 父类对象=new 子类();体现的是多态的特性。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2