java继承extends关键字
extends关键字使用时,
子类与父类可均含有main(String[] args)函数。在子类中调用父类main时,传递参数args,如Father.main(args)。
父类所有方法必须是public,如果没有加任何访问权限修饰词,呢吗成员默认的访问权限是包访问权限,它仅允许包内的成员访问。
继承时,数据成员private,方法public。
使用基类中定义的方法及对它进行修改是可行的,super关键字表示超类的意思。super.fun()表示将调用基类fun(),以避免在子类产生递归。
继承时,子类可添加新方法。
即使子类引入新的重载方法,子类对父类的所有重载方法是可用的。使用与基类完全相同的特征签名及返回类型覆盖具有相同名称的方法,是一件极其平常的事情。
java加入@overvide注解。当要覆写某个方法时,可以选择添加这个注解,在不小心重载而非覆写时编译器会报错。
调用基类构造器必须是在导出类构造器中要做的第一件事(否则编译器会报错)。
为啥代理的时候,不需要extends关键字。代理是组合与继承的中庸之道。
组合是使用类的方法,继承可重载类的方法。组合一般是将现有类型作为新类型底层实现的一部分来加以复用,而继承复用的是接口。
关键字try表示,下面的块(用一组大括号括起来的范围)是所谓的保护区,意味着需要被特殊处理。保护区后面的finally子句中的代码,总是要被执行的。
【敲黑板!!!】Tips:一旦涉及垃圾回收,需要谨慎三思。垃圾回收器可能永远也无法被调用,即使被调用,它也可能以任何它想要的顺序来回收对象。最好的办法是除了内存以外,不能依赖垃圾回收器去做任何事。如果需要清理,最好亲历亲为。【敲黑板!!!!】
protected,就用户而言,是private,但对于任何继承于此类的导出类或者其他任何位于同一个包的类来说,是可访问的。【提供包内访问权限】
向上转型与向下转型(skip)
final关键字:一个永不改变的编译时变量,一个在运行时被初始化的值,并且不希望它被改变。
一个既是static又是final的域只占据一段不能改变的存储空间。定义static强调只有一份,定义final,说明是一个常量。
对于基本类型,final使数值恒定不变,对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再改变它指向另一个对象。(对象自身可以被修改)。
允许空白final,即不初始化。但是在使用前必须初始化。
允许在参数列表中声明的方式将参数指明为final,意味着无法在方法中更改参数引用所指向的对象。
final方法:①锁定方法,以防任何继承类修改它的含义,使方法行为保持不变,并且不会被覆盖。②效率。
final类,不允许继承类。
原文地址:http://www.cnblogs.com/zhenzhenhuang/p/6690653.html