继承
一、继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
extends 的意思是“扩展”。子类是父类的扩展。
子类继承了父类,就会拥有父类的全部方法
举例://这是父类(基类)
public class Person{
}
//创建一个子类Student类,继承(extends)父类
public class Student extends Person{
}
注:其中的Person也就是父类、基类;Student是子类、派生类,子类跟父类之间从某种意义上来讲应该具有“is a”的关系。
在Java中,所有的类,都默认直接或间接继承object
Java中类只有单继承,没有多继承!(一个儿子只能有一个爸爸,但一个爸爸可以有多个儿子)
私有的东西无法被继承;
二、拓展:Super vs this
1.super调用父类的构造方法
2.super必须只能出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法!
this:
代表的对象不同:
this:本身调用这个对象
super:代表父类对象的应用
前提:
this: 没有继承也可以使用
super:只能在继承条件才可以使用
构造方法:
this():本类的构造
super():父类的构造
三、方法重写(子类重写父类的方法)
1.为什么要重写?
因为在继承后,父类中方法的功能,子类不一定需要,或者说不一定满足。
重写的要求是:
1.首先两个类必须存在继承关系;
2.对要重写的方法而言,子类的方法名必须与父类相同;
3.参数列表也要相同;
//静态方法:方法的调用只和左边,定义的数据类型有关
//非静态:重写
图1是在idea中方法重写后会出现向上和向下的箭头
图2则是静态方法的展示
在idea中可以通过快捷键ALT+Insert,进行方法的重载