------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
java中几个特殊的关键字
this:代表的是对象。哪个对象调用了this所在的函数,this就代表哪个函数。
用法:成员变量和局部变量重名时,用this区别
构造函数中的第一行,用this(参数列表)来调用本类的其他构造函数。
super:代表当前对象对当前对象的直接父类对象的直接引用
super必须是出现在子类中,确切的说是子类的方法和构造方法中,而不是其他位置。
用以访问父类的成员。例如父类的成员变量、成员方法和构造方法。
super有访问权限的限制,super无法访问通过private修饰的成员变量、成员方法。
super关键字与以前学习的this关键字的作用类似,都是将屏蔽了的成员变量、成员方法变为可见的,也就是说用来引用被屏蔽的成员变量和成员方法,不过super是用于子类,目的是直接访问父类中的成员变量、成员方法和构造方法。
final :修饰类,变量和方法。
1、 final修饰变量即为常量,只能赋值一次;
其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一
一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。
另外方法中的内部类在用到方法中的参变量时,此参变也必须声明为final才可使用
2、final修饰方法不能被子类重写;
如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。
使用final方法的原因有二:
第一、把方法锁定,防止任何继承类修改它的意义和实现。
第二、高效。编译器在遇到调用final方法时候会转入内嵌inline机制,大大提高执行效率。
final定义的方法执行效率会比较高
注意,类中所有的private方法都被隐含是final的。由于无法取用private方法,则也无法重载之。
3、 final修饰类不能被继承。
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不
允许改变,并且确信这个类不会载被扩展,那么就设计为final类。