一、Java中的继承
1、继承的概念:
继承是类与类的一种关系,是一种”is a”的关系
父类(基类)// 子类(派生类)
注意:Java中的继承是单继承,一个子类只能有一个父类
2、继承的好处:
子类拥有父类的所有属性和方法(除了private修饰的属性和方法)
实现代码复用
3、语法规则:
public class 子类 extends 父类 eg:class Dog extendsAnimal{…}
二、Java中的方法重写
1、如果子类对继承父类的方法不满意,可以重写父类继承的方法,当调用方法时会优先调用子类的方法。
2、语法规则都要与父类继承的方法相同,才叫方法的重写。
其中包括了:返回值类型;方法名;参数类型及个数
三、Java中的继承初始化顺序
1、继承的触发顺序(初始化顺序):
(1)初始化父类再初始化子类
(2)先执行初始化对象中属性,再执行构造方法中的初始化
四、Java中的final的使用
final关键字:可以修饰类、方法、属性和变量;标识“最终的”含义。
final修饰类时,该类不允许被继承;
final修饰方法时,该方法不允许被覆盖(重写);
final修饰属性时,则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或者在构造方法中赋值(只能选其一:也就是有时系统会帮助我们初始化属性,如果使用final进行修饰之后,系统不会进行初始化并会报错)
final修饰变量时,则该变量的值只能赋值一次,即变为常量(不可被修改)
五、Java中的super的使用
super关键字:在对象的内部使用,可以代表父类对象。
super的作用:
1、访问父类的属性:super.age
2、访问父类的方法:super.eat()
super的应用:super关键字与构造方法有着紧密的关系。
子类的构造过程中必须调用其父类的构造方法;
如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法;
如果是显式的调用构造方法,必须在子类的构造方法的第一行(即放在子类构造方法的第一步,否则会报错);
如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的调用方法,则编译会出错;
六、Java中的Object类
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类。
Object类中的方法,适合所有子类:
1、 toString()方法
在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串,用以区分唯一对象)
可以通过重写toString()方法表示出对象的属性。
自动生成的重写代码:
2、equals()方法
比较的是对象的引用是否指向同一块内存地址。
在一般情况下,需要比较两个对象时是比较其值是否一致,所以要进行重写。
自动生成的重写代码:
其中第六行:getClass()!=obj.getClass()所表达的是:两个对象的类型是否相同。
getClass():得到一个类对象,获得的是类的代码信息(类名,方法代码等);
对比“类的对象”:类的对象关心的是对象的属性值信息,即数据信息;