你不理解的Super与This

来源:互联网 发布:mac合上盖子不断网 编辑:程序博客网 时间:2024/06/12 19:31

super关键字和调用父类构造方法

表示父类对象的默认引用

如果子类要调用父类被覆盖的实例方法,可用super作为调用者调用父类被覆盖的实例方法。

使用super调用父类方法

使用super调用父类的构造方法

 

调用构造方法

本类中调用另一个重载构造方法用this(参数列表)

子类构造方法调用父类构造方法用super(参数列表)

子类调用父类的构造方法时:

super必须放在第一句

Java在执行子类的构造方法前会先调用父类无参的构造方法,其目的是为了对继承自父类的成员做初始化操作。

子类在创建对象的时候,默认调用父类的无参构造方法,要是子类构造方法中显示指定调用父类其他构造方法,就调用指定的父类构造方法,取消调用父类无参构造方法。

 

Eg

package reviewDemo;

 

class A{

String name;

A(){

System.out.println("父类默认隐式的构造方法!");

}

A(String name){

System.out.println("父类显式的构造方法!");

}

}

 

class Bextends A{

B(){

super(null);

System.out.println("子类默认隐式的构造方法!");

}

}

 

public class Demo10 {

public static void main(String[] args) {

new B();

}

}

 


this关键字

特点:this表示当前对象。

当前对象  ←→  当前正在调用实例成员的对象

换言之:谁调用了方法,谁就是当前对象。

什么时候使用this关键字呢?

方法间的相互调用;

this.字段;

构造器中相互调用,但是此时this([参数])必须写在构造方法第一行。

this不能用在static修饰的方法里和static修饰的代码块里;



更多交流可以关注我!

0 0
原创粉丝点击