12.1

作者: 迷人的酋长 | 来源:发表于2017-12-03 10:31 被阅读0次

    一.构造方法:创建对象时用来初始化该对象的方法,其方法名必须与所在类名相同。如果
    我们没有提供构造方法,系统在编译时会自动提供一个无参构造方法;

    1. (1)构造方法没有返回值(包括void);
      (2)构造方法可以被重载,但不能被重写(有参构造方法不能被继承);
      (3)子类创建对象时,先创建父类对象。
      (4)一个构造方法中调用另一个构造方法时,要用 this (参数) 来实现,且必须放
      在该构造方法的第一行。

    二.构造方法的继承问题:

    1. 子类只能继承父类中的无参构造方法;如果父类中没有无参构造方法,则子
      类不能继承父类中的构造方法。
    2. 子类继承的父类的无参构造方法不能成为子类的无参构造方法。
    3. 创建对象时,先调用父类的无参构造方法进行初始化,然后才是子类的。
    4. 子类必须调用父类的非默认构造方法,调用时要使用super方法;如果是默
      认构造方法,则系统会自动调用。

    三.扩展

    1. this的用法
      this:指代对象本身,是指向本对象的一个指针。
      用法:
      (1)、一个类明确调用自己的属性和方法时,使用 this. 属性名 和 this. 方法名
      (通常this会省略)。
      (2)、一个构造方法调用本类的其他构造方法时,使用 this(参数),且必须放
      在第一行。
      (3)、局部变量与全局变量重名时,使用this标记全局变量。
      注:this只能用在非静态方法的方法体中。
    2. super的用法
      super:指父类,是Java的一个关键字。
      用法:
      (1)、子类调用父类的构造方法,使用 super. ( [参数] ),且必须放在第一行。
      (2)、子类调用父类的变量和方法,使用 super. 变量名 和super. 方法名([参数])。
      注:super只能用在非静态方法的方法体中;且不能与this同时出现在一个构造方法中。

    相关文章

      网友评论

          本文标题:12.1

          本文链接:https://www.haomeiwen.com/subject/hjlabxtx.html