=======继承的概念和实现=======
继承背后的思想就是 基于已存在的类来构建新类
当从存在类继承是,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求
约定:从其他类导出的类叫做子类
被导出的类叫做父类
在Java中,除了Object类之外,所有类都是子类,都只有唯一的父类
====在Java语言中,用extends关键字来表示一个类继承了另外一个====
=====super关键字特点============
1、super和this关键字的特点类似:super代表的是父类对象的引用
2、当子父类的成员出现同名时,可以通过super来区分
3、子类的构造方法中,通过super关键字调用父类的构造方法
***强调****
当构造一个子类对象的时候一定会先调用父类的构造方法来构造父类的对象。调用父类 构造方法的语句必须是子类构造方法中的第一条指令
=====方法重写-override======
方法重写是指子类可以根据需求对其父类继承来的方法进行改写
是多态机制的前奏
====方法重写注意点==============
重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值
重写方法不能比被重写方法有更严格的访问权限
父类中的私有方法,不能被重写
在子类重写的方法中继续调用父类被重写的方法可以通过super.函数名获取
====Object常见方法==========
Java中,所有类都直接或间接自java.lang.Object类
可以说Object是Java中所有类的祖先及根类
Java中任何类都继承了Object类中的方法,主要有
toString()
equals()
hashcode()
clone()
getClass()
finalize()
====String toString()=====
- 返回该对象的字符串描述信息。默认输出的格式
类名[字段值、字段………]
- 只要对象与一个字符通过“+”连接,系统就会自动调用toString获得对象的字符串描述符
- 常被改写:可以根据用户的需求对其进行重写
=====Boolean equals======
Object类原始功能是实现判断两个对象是否具有相同的引用,要求判断两个对象状态 的相等性