java学习8

继承

继承是多态的前提,,如果没有继承,就没有多态。
继承主要解决的问题就是:共性抽取。

父类也可以称为基类或超类。

子类也可以称为派生类。

继承关系中的特点

1.子类可以拥有父类的内容。
2.子类还可以拥有自己专有的内容。

继承的格式

在继承的关系中,“子类就是一个父类”。即子类可以被当作父类看待。

【定义父类的格式(一个普通的类定义)】
public class 父类名称 {
	//...
}

【定义子类的格式】
public class 子类名称 extends 父类名称{
	//...
}

继承中成员变量的访问特点

在父子类继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:

1.直接通过子类对象访问成员变量
	等号左边是谁,就优先用谁,没有则向上找。
2.间接通过成员方法访问成员变量
	该方法属于谁,就优先用谁,没有则向上找。

区分子类方法中重名的三种变量

局部变量: 直接写成员变量名
本类的成员变量:	this.成员变量名
父类的成员变量:	super.成员变量名

继承中成员方法的访问特点

在父子类的继承关系中,创建子类对象,访问成员方法的规则:

创建的对象是谁,就优先用谁,如果没有则向上找

注意事项:
无论是成员方法还是成员变量,如果没有都是向上找父类。不会向下找子类。

继承中方法的覆盖重写

重写(Override):在继承关系当中,方法的名称一样,参数列表也一样。

方法的覆盖重写特点:

创建的是子类对象,则优先用子类方法。

方法覆盖重写的注意事项:

1.必须保证父子类之间方法的名称相同,参数列表也相同。
@Override:写在方法前面,用来检测是不是有效的正确覆盖重写
【这个注解就算不写,只要满足要求,也是正确的方法覆盖重写】

2.子类方法的返回值必须小于等于父类方法的返回值范围。
扩展:Object类是所有类的公共最高父类。

3.子类方法的权限必须大于等于父类方法的权限修饰符。
扩展:public > protected > (default) > private
【(default) 不是关键字default,而是什么都不写留空。】

继承中构造方法的访问特点

继承关系当中,父子类构造方法的访问特点:

1.子类构造方法当中有一个默认隐含的"super()"调用,所以一定是先调用的父类构造,后执行的子类构造。
2.子类构造可以通过super关键字来调用父类重载构造。
3.super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次super构造。

super关键字的三种用法

1.在子类的成员方法中,访问父类的成员变量。
2.在子类的成员方法中,访问父类的成员方法。
3.在子类的构造方法中,访问父类的构造方法。 

this关键字的三种用法

super关键字用来访问父类内容,而this关键字用来访问本类内容。

1在本类的成员方法中,访问本类的成员变量。
2.在本类的成员方法中,访问本类的另一个成员方法。
3.在本类的构造方法中,访问本类的另一个构造方法。
	【this(...)调用也必须是构造方法的第一个语句,唯一一个】
	【super和this两种构造调用,不能同时使用】

Java继承的三个特点

1.Java语言是单继承的。
	【一个类的直接父类只能有一个】

2.Java语言可以多级继承。

3.一个子类的直接父类是唯一的,但是一个父类可以拥有多个子类。

抽象

如果父类当中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法。

抽象方法: 就是加上abstract关键字,然后去掉大括号,直接分号结束。

抽象类: 抽象方法所在的类,必须是抽象类。在class之前加上abstract关键字即可。

抽象方法和抽象类的使用

1.不能直接创建new抽象类对象。

2.必须用一个子类来继承抽象父类。

3.子类必须覆盖重写抽象父类当中所有的抽象方法。
【覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号】	 

4.创建子类对象进行使用。

注意:
抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值