7、类中的几个特殊的关键字(this&super&final)

来源:互联网 发布:nba2k18超帅捏脸数据 编辑:程序博客网 时间:2024/04/26 11:24

------- <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类。

0 0
原创粉丝点击