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

Java基础6-this和super的区别

2017-06-23 22:51 309 查看
this和super的区别:

this代表本类对类的应用;

super代表父类存储空间的标识(可以理解为父类引用,可以操作父类成员)

class Father{

public int num=10;

}

class Son extends Father{
public int num=20;

public void show(){
int num=30;
System.out.println(num);
System.out.println(this.num);  //20
System.out.println(super.num);  //10
}

}

public class Demo1 {
public static void main(String[] args) {
Son son=new Son();
son.show();
}

}

打印内容:



使用:

1、调用成员变量

this.成员变量      调用本类的成员变量 

super.成员变量    调用父类的成员变量 

2、调用构造方法

this(...)       调用本类的构造方法

super(...)    调用父类的构造方法

3、调用成员方法

this.成员方法      调用本类的成员方法

super.成员方法   调用父类的成员方法

继承中构造方法的关系:

A、子类中所有的构造方法默认都会访问父类中空参数的构造方法,

因为子类会继承父类中的数据,一定要完成父类数据的初始化

B、子类每一个构造方法的第一条语句默认都是super();

package com.windy.java;

class Father{
public Father(){
System.out.println("Father的无参构造方法");

}

public Father(String name){
System.out.println("Father的带参构造方法");
}

}

class Son extends Father{

public Son(){
//super();//默认就有
System.out.println("son的无参构造方法");
}

public Son(String name){
//super();//默认就有
System.out.println("son的带参构造方法");
}

}

public class Demo1 {
public static void main(String[] args) {
Son son=new Son();

System.out.println("--------------");
Son son2=new Son("Clare");
}

}

打印:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: