在这里感谢毕向东老师的讲解,一下是由毕向东老师的视频整理而来
一,继承中类的构造函数:
在对子类对象进行初始化时,父类的构造函数也会运行,那是因为子类的构造函数默认第一行有一条隐式的语句super();
super()这会访问父类中的空参数的构造函数。
一些有有用的结论
子类的所有的构造函数,默认都会访问父类中空参数的构造函数
因为子类每一个构造函数内的第一行都有一句隐式的super();
当父类中没有空参数的构造函数的时候,子类必须通过super语句形式来访问父类中的构造函数(可以自己加一些参数super(4)来实现初始化)
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数
二:final:被它修饰的变量,类,类中的成员,函数都具有固定的值,不可以被修改,就像是c中的const的值
三:抽象类
抽象类的使用方法:主要是一些定义的集合
抽象类的特点:
1.抽象方法一定要在抽象类中定义
abstract class Person
{
abstract void study(); //抽象类的方法不能有主体,注意需要加入abstract
}
2.抽象方法和抽象类都必须被被abstract所修饰如果没有的话就会报错
3.如果一个类继承了一个抽象类,那么这个抽象类必须复写抽象类中的所有函数,否则,就会报错
抽象类中既可以有抽象方法。也有一些非抽象方法。
抽象只能定义函数,但是不能写入主体,需要在子类中填写方法。
4,抽象类中可以不定义抽象方法,但是这样做不能让这个类建立对象