1. 继承的概念理解
概念: 就是一个is a 的关系,是一个xx 的关系。
继承发生与子父类中, 子类,继承父类,那么可以使用父类的属性和方法。这样,就减少了代码重复,使代码简洁。
关键字: extends (继承于)
使用方法: 类的声明上标准 子父类关系。
例如:class Dog extedns Anmail { } 狗类继承于 动物类。
继承关系中:把所有子类共用的一些,属性,和方法,可以抽取到父类中。
这样子类中不用每个子类都定义这个方法了
2. this 和super 关键字
this 代表的是当前对象的引用。
使用场景: 在 类中,访问当前的成员位置的属性 和方法的时候用到。
在构造方法,或者自定义方法中使用。
super 代表的是当前父类对象的引用。
在构造方法,或者自定义方法中使用。
通过super 关键字,访问到父类的 属性及方法。
3 -继承下构造方法的执行过程
练习: 在Person、 类中,创建一个无参构造,创建一个有参构造。
分别在构造方法中,写一句代码:输出当前执行的是什么构造。
在他子类中,不写构造方法的时候。
创建子类对象
结果:
创建子类对象的时候,父类的构造方法也执行了,说明父类也执行了构造方法。
查看输出打印结果,了解父类构造,执行时机
继承关系: 只能单继承,但是可以多层继承。
4 . 子类重写父类方法
方法重写:方法名相同,子父类关系中,子类重写父类定义过的方法。称之为方法的重写。
子类重写父类方法的意义: 功能代码完善,或者形成独特的功能。
方法重载:方法名相同,参数列表不同(包含,个数,顺序,类型不同),与返回值无关。
get() set() toString() 都是重写的Object 类的。
5. 抽象类和抽象方法的使用
abstract 抽象的
abstract 修饰的类: 不能被创建实例对象。
abstract 修饰的方法: 不能有方法体。
例如:public abstract void eat(); //变成了抽象的方法!强制子类必须重写!
被抽象的东西,是希望子类来具体实现 。
包括 类的具体对象,及类的具体方法。
6. final修饰属性、方法和类
final 最终的,不会改变的。
final 修饰的类,为最终的类,不可被继承。
final 修饰的方法,为最终的方法,不可被重写。
final 修饰的变量,为常量。不可重新赋值。