A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张利 中级黑马   /  2012-11-11 21:55  /  2008 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张利 于 2012-11-12 22:50 编辑

我的理解就是子类里面隐含着父类的对象就是父类子对象 ,不过总是觉得这么理解的话 感觉叫子类父对象会更贴切一点。。。。。。。也不知道我的理解对不对

7 个回复

倒序浏览
1 什么叫继承
  OOP的又一个特性。
  在已有类的基础上来创建新类,新类具有已有类的所有特性(属性和方法,没有构造器)。
  新类的对象具有已有类对象的所有功能,或者称之为具有已有类的接口(就是这个对象可以调用的所有方法)。
  创建一个类的目的是:为了创建这个类的对象。
  创建这个类的对象的目的是:是为使用这个对象的方法。
  一个对象可以调用的方法是:这个对象的接口。

2 什么叫父类(基类、超类)
  已有类:父类,或者是基类(不是鸡肋),超类  被继承特性的类

3 什么叫子类(派生类、导出类)
  新类:子类,或者叫派生类、也叫导出类。
  在已有类的基础上创建的新类

4 继承的语法
  class 新类 extends 已有类 {
  }

5 继承是可以多层次的
   也就是说,A类有个子类是B类, B类有个子类是C类。这是可以的!
7 单继承
  Java中只有单继承,而没有多继承。
  单继承有好处,但也有坏处
  好处:没有了多继承引发的二意性。
  坏外:不能同时具有多个类的特性了。
  Java中自己独有的(C++没有的):接口再加上其他的东西就可以超过了多继承的好处。

8 可以象使用父类对象一样使用子类对象
  可以象使用父类那么来使用一个子类,也就是说,我们可以把在使用父类的任何地方使用子类对象来替换。

9 里氏代换原则(LSP)(了解)
  如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。
  Java API中,有很多继承关系都没有遵守里氏代换原则!这些东西通常都是在jdk1.0中出现的类。但后期就基本没有出现了。
  就算是大师们,也有错误的时候。因为早期有很多人对继承使用很不正确!

 小结
  子类对象可以用来当做父类对象来使用,反之不可。
  子类对象具有父类的所有功能。
  子类可以添加新的功能和特性
  继承的语法
Java中允许继承的多层次化,即子类也可以有子类

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
你是在说多态吧??
回复 使用道具 举报
1,子类继承了父类所有的方法,包括构造方法~ ,就是这个父类的引用指向子类的对象
2,也可理解为除了构造方法外,父类的所以方法和属性都被子类的对象继承
回复 使用道具 举报
父类,子类和多态的概念也都是了解了,就是对父类子对象这个名词感觉模糊。。。。。。
回复 使用道具 举报
A类有个子类是B类, B类有个子类是C类,继承说明了A里面的东西B里面C里面都继承下来了,B里面的东西C里面都继承下来了
子类对象可以用来当做父类对象来使用,反之不可。
子类对象具有父类的所有功能。
子类可以添加新的功能和特性
Java中允许继承的多层次化,即子类也可以有子类。
Java中继承是单继承的。即一个父类可以有多个子类,但一个子类只能有一个父类!
回复 使用道具 举报
要调用父类中的方法,还得先建立子类对象,如果你叫子类父对象的话,那不就相当于用父类对象去调用子类方法吗?毕老师视频里讲过猫的例子来看,定义了一个动物类 class Animal{吃饭()}和class Cat{吃饭(),抓老鼠},使用父类的引用去调用父类的吃饭()功能可以实现,但是要调用子类中的抓老鼠()功能时,就不行了。如果从多态的角度入手,应该会好理解点。
回复 使用道具 举报
李长波 发表于 2012-11-12 22:40
试试我能发帖不!

{:soso_e140:}{:soso_e140:}{:soso_e140:}{:soso_e140:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马