-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
第一讲 继承
一、概述
继承的由来: 当很多类有重复的属性或者方法,那么我们就把重复的部分抽取出来,封装为一个类,让很多类来继承这个单独的类,多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。由此我们可以知道继承也可以分为单继承和多层继承俩种,其格式如下:
单继承格式:
class 子类名 extends 父类名{}
多层继承:
class 子类名1 extends 父类名{}
class 子类名2 extends 子类名1{}
注意:这里的多层继承不是多继承,必须得区分开了,没有多继承!另外,父类中private修饰的成员,子类不能使用,private只能本类访问, 父类中构造方法,子类不能使用,构造方法名字跟类名一致, 不用为了某些部分的功能去继承
二、特点
我们在写继承类的时候,如果描述这个体系,共性的属性或者功能,我们看看顶层的类 ,如果使用这个体系的属性和功能,我们则使用最低层的类 。对于成员变量而言:
变量名字不同:父类有的子类可以直接用
变量名字相同:子类使用的时候自己的 子类还想使用父类的成员,怎么办? 我们可以使用 super.成员,表示的是父类的成员。对于构造方法而言:
是不能继承的,我们可以通过俩种方式来实现,方式一:使用super中的有参构造;方式二:使用this中的有参构造,前提是有参构造也得访问到父类super有参构造中
对于成员方法而言:
方法名字不同:父类有的子类可以直接用
方法名字相同:子类使用的时候自己的 子类还想使用父类的成员,怎么办? 使用 super.方法名,表示的是父类的成员。
三、应用举例
继承举例练习
动物 {
姓名,年龄,腿的个数
构造方法
get()/set()
睡觉();
吃();
}
猫{
姓名,年龄,腿的个数
构造方法
get()/set()
睡觉();
吃(); //吃鱼
}
狗{
姓名,年龄,腿的个数
构造方法
get()/set()
睡觉();
吃(); //吃骨头
}
分析:
1.猫和够继承动物类
2.它们的姓名,年龄,腿的个数,get()/set(),睡觉();吃();都相同,可以提取出来
3.构造方法都不一样,得分开写
1、程序入口
2、动物类
3、猫和够继承动物类
4、结果
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------