前言:
这一周浅学内容较散,继承,覆盖,Object类等等,老师讲的模糊,听不进去,自己扣题的效率太慢,掌握的内容少。
一、关于继承
继承就是一个类A继承了另一个类B的所有成员,并且可以访问使用那些非私有成员。需要有extends关键字修饰。格式如public class 子类名 extends 父类名{} 。同时也有相关的特点:子类的每个对象都是其父类的对象,父类的不一定是子类的;子类也可以有自己的内容;一个父类可以有多个子类。
调用父类时需要有super关键字:super();若有参数则调用了父类的有参方法,若没有则调用了无参方法。而访问父类的成员变量和成员方法时,格式如下:super.变量名;super.方法名(); 。
二、覆盖
覆盖也可以说是重载的另一种形式,即在子类中书写父类已有的方法。需要注意的是子类不能覆盖父类中声明final和static的方法。
三、抽象类和抽象方法
抽象类是以修饰符abstract修饰的类;抽象方法是没有方法体即没有{},是一种以abstract修饰的方法。定义格式如下:抽象方法:public abstract 返回值类型 方法名(参数列表);,抽象类:public abstract class 类名{} 。抽象类中不一定包含抽象方法,但包含抽象方法的类必须是抽象类。抽象类中定义构造方法时,必须有protected修饰。最后一点,abstract不能与private、static、final、native共同修饰同一个方法。
四、总结
学习到继承时可以弄明白个大概意思,但往后的覆盖、子类访问父类、父类对象访问子类、抽象类前的各种方法,越来越迷。花费时间加长,理解难度大。综合运用在一个代码中,难以获得相应思路。目前正在攻克继承中的一些方法,下一步要学Object类和接口的定义这些。