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