1、继承
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
java不支持多继承,但支持多重继承
2、super、this
super:实现对父类成员的访问,用来当前对象的父类
this:指向自己的引用
3、final
此关键字声明类可以把类定义为不能继承的,即最终类;或者用于修饰方法,该方法不能被子类重写
4、重写[Override]与重载[Overload]
重写:子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写
重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常
方法重写的规则:
1.方法名称和参数列表必须相同。
可以使用@override检测是否重写成功
2.子类返回值范围必须【小于等于】父类返回值范围
3.子类方法的权限必须【大于等于】父类的权限的修饰符
修饰符权限:public>protected>(default)什么都不写,默认>private
当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法
想要调用父类中被重写的方法,则必须使用关键字super
重载:在一个类里面,方法名字相同,而参数不同,返回类型可以相同也可以不同
每个重载方法(或构造函数即构造器)都必须有一个独一无二的参数类型列表
ps:java的重载与重写是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式
5、多态
多态是同一个行为具有多个不同表现形式或形态的能力
多态就是同一个接口,使用不同的实例而执行不同操作
多态存在的三个必要条件:
继承、重写、父类引用指向子类对象
多态好处:
可以使程序有良好的扩展,并可以对所有类的对象进行通用处理
多态的实现方式:
重写、接口、抽象类和抽象方法
6、抽象类
面向对象概念中,所有的对象都是通过类来描绘的,但是,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
抽象类不能实例化对象,因此抽象类必须被继承,才能被使用
抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类可以实现多个接口
7、抽象方法
抽象方法只包含一个方法名,而没有方法体
如果一个类包含抽象方法,那么该类必须是抽象类
任何子类必须重写父类的抽象方法,或者声明自身为抽象类
8、封装
9、接口
在java编程语言中是一个抽象类型,是抽象方法的集合,所有方法必须是抽象方法
通常以interface来声明
一个类通过继承接口的方式,从而来继承接口的抽象方法
类描述对象的属性和方法,接口则包含类要实现的方法
一个实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类
接口不能包含成员变量,除了static和final变量