zoukankan      html  css  js  c++  java
  • this() and super()的简记

    this:this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。

    super:super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。

    this和super的异同:

    1)this()和super()在构造方法,作用是在JVM堆中构建出一个对象。为了避免多次创建对象,同一个方法内只能调用一次this()或super()【两个不能同时出现,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过】。同时为了避免操作对象时对象还未构建成功,需要this()和super()的调用在第一行实现【以此来创建对象】,防止异常。

    2)程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名(这也是this的一个用法)

    3)super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。

    4)构造器中第一行默认是super(),一旦直接父类的构造器中没有无参的,那么必须显式调用父类的某个有参构造函数。
    5)super()和this()均需放在构造方法内第一行。调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。

    6)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

    7)从本质上讲,this是一个指向本对象的指针, 然而super是一个Java关键字。

  • 相关阅读:
    非Ajax实现客户端的异步调用
    转:IE7远程客户端本地预览图片的解决办法(兼容IE6)
    How to Persist With Your Goals When the Going Gets Tough 编程爱好者
    How to Persist When You Really Want to Quit 编程爱好者
    JAVA环境变量设置
    手机连接WIFI总掉线的解决方法
    servlet中web.xml配置详解(转)
    ArrayList的contains方法[转]
    eclipse下 alt+/快捷键方式失效的解决
    关于数据结构,关于算法,关于hash桶算法
  • 原文地址:https://www.cnblogs.com/yangrongkuan/p/11996622.html
Copyright © 2011-2022 走看看