继承
概念——类与类之间的关系 is a
把具有相同行为与属性的类进行抽取,设计为父类,子类通过继承,自动具备来自于父类的属性和行为
优点
1)代码的重用性
2)父类的属性
语法:extends
Java中的子类只能有一个父类(单继承)
内存实现—内存的叠加
先加载父类对象那个,然后拼接上子类对象
构造方法—不可被继承
在子类构造中,会自动调用父类构造
方法的重写
在继承的关系中,子类将父类的方法重新实现一次。
要求:
1 方法名必须一致
2 参数列表必须一致
3 返回类型必须一致
4 访问修饰符必须大于等于父类
5 重写方法不能抛出比父类被重写方法更多的异常
epuals的重写
在Object中的public boolean epuals(Object x)
equals()来自于Object,比较两个对象的内容是否相等的时候进行调用
调用前应该对该方法进行重写!按照我们设计这个类的业务规则重写!
toString的重写
返回一个对象的字符串描述
当我们对对象直接进行字符串操作时,比如直接打印对象,或是做字符串拼接,会默认调用该方法
区分final , finally , finalize
protected void finalize () throws Throwable;
方法是Object的,GC的垃圾回收操作调用,不可重写
考擦点:区分final , finally , finalize。前两个是关键字,最后的那个是方法名。
final
1,声明常量;2,修饰方法,方法不可重写;3,修饰类的时候,此类不可被继承(这样的类被称为最终类,终态类)
final作为可选修饰符(还学过static),是可以和访问修饰符互换位置的。
this与super
this
this. 的用法
1、指代当前对象
1)可以查看本类的所有属性和方法
2)可以查看从父类继承的属性和方法,但是受访问修饰符限制
2、this()的用法
1)调用本类的其他构造方法,只能在构造第一行使用
2)没有默认
super
1、super. 的用法
1)当前对象中父类部分
2)访问不到本类定义的任何属性和方法
3)也可查看父类,同this
2、super() 的用法
1)调用父类的指定构造,只能在构造第一句
2)默认调用,不写也是默认调用父类的无参构造
特例
一般不会使用
在查看已经被重写的方法,其原始方法在父类中的实现