Java面向对象基础(二)

一.super关键字
背景: 当子类重写了父类方法后,子类对象无法再去访问父类被重写的方法,因此,引入了super关键字来访问父类的成员

key: 以父之名
(1)super调用 父类的成员变量,成员方法

super.成员变量名;
super.成员方法名([参数]);

(2)子类调用父类的构造方法

子类构造函数名(参数){
	super([参数]);
}

super就指代了父类构造函数名
注意事项: ① super调用构造方法时,必须写在子类构造方法的第一行
②用super在子类中调用父类构造函数时,要指定(就是给出参数)调用父类的哪个方法 , 如果不指定 ,那就会默认调用父类的无参的构造方法 , 但如果父类恰巧又没写无参的构造函数时 此时系统就会报错

Tips: 所以一般我们在写类的构造函数时,都会写两个以上构造函数 ,其中一个要是显式的无参构造函数

二.final关键字
修饰类: 不能被继承
修饰变量: 值不可被修改
修饰方法: 不可被重写

三.抽象类
我们在定义一个类时,有时是无法预知这个类的方法到底该如何实现的 , 这个时候 , 就可以把这个类或类的方法用 abstract关键字修饰 , 这时 , 就有了抽象类与抽象方法

抽象类表示的是一种共性关系,它的子类必须都有抽象类的某种特点
例如: 有一个父类,有Fly方法, 那它的子类飞机类和鸟类,都具有Fly的方法(行为)

(1)用abstract修饰类

特点: 不可以被实例化

(2)用abstract修饰的方法
如果一个类中的某个方法用abstract修饰了 ,那么:
① 方法体不能出现 , 也就是在该抽象类中不能被实现
② 这个类就是抽象类了
抽象类的子类,如果不是抽象类,那么这个子类就必须重写它的抽象类父类的方法
即: 非抽象类子类必须重写其抽象类父类的方法

四.接口

接口的所有方法都是抽象的 . 是一种纯抽象类 .
接口表示一种"特性关系" , 某些子类要实现父类不具备的某种行为
举个例子: 哺乳动物为父类 , 下面派生出蝙蝠这个子类 , 蝙蝠会飞 , 但不是所有哺乳动物都会飞 , 这个时候 , 我们就可以给出一个接口 , 接口中写出抽象的"飞"方法 , 然后再在子类蝙蝠中实现这个方法.

接口特点:
①在JDK8中的新特性 : 不仅可以包含抽象的方法,也可以包含常量 ,static方法default方法(default关键字必须写上)
后两者允许有方法体 常量必须初始化

②接口需要有一个实现类 , 在这个实现类中必须实现接口中的所有抽象方法

③ 一个抽象类在实现接口时 , 可以部分实现接口中的方法

④ 接口和接口之间可以相互继承

⑤如果类的继承和接口的实现要在同一个类中实现 , 那么extends 关键字要写在implements关键字的前面,而且不能用逗号隔开

接口中方法的实现 : implements关键字

[修饰符]class 类名 [extends 父类名] [implements 接口1,接口2,...]{
	实现接口中的方法;
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值