继承-------面向对象重要思想之一-创新互联

1、引入继承

创新互联专注于网站建设,为客户提供网站设计制作、做网站、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,高端网站设计,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

以上两个程序经过观察代码可发现,存在了大量的重复。比如每个中都有name,age成员变量,都有eat,sleep两个成员方法。如何解决呢?

2、继承的概念

继承是面向对象思想一个重要的特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的成员变量及方法,此外,还可以增加新的属性方法。

继承主要解决的问题是:进行共性抽取,实现代码复用。

eg:其中Animal称为 父类,基类,超类

  Dog,Cat称为 子类,派生类

3、继承的语法

借助extends关键字。 

语法: 修饰符  class  子类  extends  父类{

}

->子类继承父类的成员变量,成员方法

->子类继承父类后,必须添加自己特有的成员,体现出与父类的不同

eg:Dog3,Cat3两个子类均继承了父类Animal。

4、父类成员访问 4-1 子类访问父类的成员变量 4-1-1 子类与父类无同名的成员变量

->如果 子类与父类不存在 同名的成员变量, 则访问父类继承下来的。如果父类也没有时,则编译报错。

4-1-1 子类与父类有同名的成员变量

在子类方法中或者通过子类访问父类时:

->如果 子类与父类存在 同名的成员变量, 优先访问子类自己的成员变量。

4-2 子类访问父类的成员方法 4-2-2 成员方法 名字不同

->成员方法名字不同时,在子类方法中或通过子类对象访问方法时,访问父类继承下来的。如果父类也没有时,则编译报错。

4-2-2 成员方法 名字相同

->如果 子类与父类存在 同名的成员方法, 优先访问子类自己的方法。

->在这里,如果父类与子类同名方法的参数列表不同【重载,在子类与父类中也可以构成重载】,根据调用方法传递的参数选择适合的方法进行访问。

5、super关键字

super关键字:

->在子类方法中,访问父类的成员。

->只能在非静态方法中使用

eg1: super.a  ->访问父类成员

eg2: super.func() ->访问父类方法

eg3:super() ->调用父类的构造方法   【必须放在第一行】

->在构造子类对象时,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化。

->在子类构造方法中,super(...)调用父类构造时,必须是子类构造函数中第一条语句。

->super(...)只能在子类构造方法中出现一次,并且不能和this同时出现

6、初始化顺序

之前再代码块时,执行顺序:先执行静态代码块,并且不论有几个对象,只执行一次。当创建对象时,才会执行实例代码块,最后执行构造方法。

对于继承关系,其执行顺序:

父类静态,子类静态  -->父类实例,父类构造 -->子类实例,子类构造

并且静态的只执行一次

7、继承方式

Java 不支持多继承,但支持多重继承。 

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:继承-------面向对象重要思想之一-创新互联
网站链接:http://myzitong.com/article/djojce.html