您的位置:首页 > 编程语言 > Java开发

你不理解的Super与This

2016-07-15 00:22 225 查看


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 B
extends 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修饰的代码块里;

更多交流可以关注我!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  实例 对象 class java androd