java中super和this的用法小结

super表示使用它的父类。super可用于一下几种情况:

1:调用父类的构造方法;

2:调用父类的方法(子类覆盖了父类的方法时);

3:访问父类的数据域;

调用父类的构造方法,此时super语句必须是子类构造方法的第一条语句。不能在子类中使用父类构造方法名来调用父类构造方法。父类的构造方法不被子类继承。调用父类的构造方法的唯一途径是使用super关键字,如果子类中没有显式调用,则编译器自动将super();作为子类构造方法的第一条语句。这回形成一个构造方法链。

静态方法中不能使用super关键字。

如果是继承的方法,是没有必要使用super来调用,直接即可调用。但如果子类覆盖或重写了父类的方法,则只有使用super才能在子类中调用父类中被重写的方法。

调用父类构造方法的语法:

super();

或

super(参数列表);

调用父类方法语法:

super.方法名(参数列表);

this关键字

this关键字表示当前对象。可用于:

1:调用当前类的构造方法,并且必须是方法的第一条语句。

//地要用默认构造方法
this();

//调用带参构造方法
this(参数);

2:限定当前对象的数据域变量。一般用于方法内的局部变量域对象的数据域变量同名的情况。如this.num = num.this.num表示当前对象的数据域变量num,而num表示方法中的局部变量。

猜你喜欢

转载自blog.csdn.net/li_w_ch/article/details/108397548