标签:
继承的概念
继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,
是提高软件系统的可扩展性与可维护性的主要途径。
所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现
父类代码的重用,子类 “能吸收已有类的数据属性和行为,并能扩展新的能力。”
使用继承;
编写父类: class pet{ //公共的属性和方法 }
编写子类,继承父类:
class Dog extends pet(只能继承一个父类) {//子类特有的属性和方法}
class Penguin extends(继承关键字) Pet {}
子类访问父类成员
访问父类构造方法 (使用super 关键字 super 代表父类对象)
super();
super(name); ---> 在子类构造方法中调用且必须是第一句
访问父类属性
super.name;
访问父类方法
super.print();
子类可以继承父类的所有资源吗?
不能被继承的父类成员:
1. private 成员
2. 子类与父类不在同包,使用默认访问权限的成员、
3. 构造方法
注:不能被继承的情况
访问修饰符 protected
可以修饰属性和方法
本类,同包,子类可以访问
访问修饰符总结:
多重继承关系的初始化顺序是怎样的?
父类属性 -->父类构造方法 --> 子类属性 --> 子类构造方法
注:断点追踪初始化过程
何时使用继承?
继承与真实世界类似
只要说 "猫是哺乳动物", 猫的很多属性,行为就不言自明了
藏獒是一种狗
符合 is -a 关系的设计使用继承
继承是代码重用的一种方式
将子类共有的属性和行为放到父类中
方法重写:
小结1
构造方法也会被重写吗? ---> 不能被继承,因此不能重写!
方法重写的规则
方法名相同
参数列表相同
返回值类型相同或者是其子类;
访问权限不能严于父类
方法重载与方法重写
小结2
super 关键字来访问父类的成员
super 只能出现在子类的方法和构造方法中
super 调用构造方法时,只能是第一句
super 不能访问父类的 private 成员
训练要点:
继承,子类重写父类方法,理解继承中的初始化过程
标签:
原文地址:http://www.cnblogs.com/hanxiaowen/p/5576911.html