继承
继承就是在原有的类基础上进行扩展,添加自己的东西或者修改原有的东西使之更加符合新类。这就好像是我们使用的物理或者数学定理是没必要反复写的,只需要在前人的基础上使用就好,当然方法是可以重写和重载的。
继承最大的好处就是累积开发,我们可以在不改变源代码的情况下,添加新的内容,并且是合理的。
继承是组织代码的形式之一, 但不能滥用继承,如果没有明确的继承关系,使用组合的方式创建新类其实是更好的选择。
继承带来的另一个概念就是转型的问题,父类的概念显然比子类要大,向上转型是完全可以的,具体的做法就是将子类对象指向父类的引用。在调用方法的时候,会现在子类方法中寻找,然后再去父类中查找。
final关键字
用在声明数据类型的时候,那么在声明的时候就应该进行初始化。如果是在方法的参数列表上,那么表示形参指向的句柄是不变的,并自动的为final自变量分配一个null句柄。
final方法,一方法是希望不被继承,另一方法则是效率。传统的方法调用:将自变量压入栈中,跳至方法代码执行它;跳回来,清除栈中的自变量,最后对方法值进行处理。而final方法:编译器会用方法主体的内实际代码的一个副本代替方法“嵌入”调用。注:编译器会自动判断是否要对final方法进行嵌入调用(方法体太大),否则享受不到效率的提高。