對super和this的用法理解

super用來訪問父類內容,而this關鍵字用來訪問本類內容

super的用法:

1.在子類成員方法中,訪問父類的成員變量
2.在子類成員方法中,訪問父類的成員方法
3.在子類成員方法中,訪問父類的構造方法

/**
 * @program: javase
 * @description: 對於super的理解
 * @Author: 小白白
 * @create: 2019/12/08 - 20:31
 **/
public class Super_Demo extends Fu{
    int num = 20;
    public Super_Demo(){
        super();      //子類的構造器正在訪問父類的構造器
    }

    public  void  pri(){
        System.out.println(super.num);   //訪問父類中的num
    }
    public void method(){
        super.method();    //訪問父類的method
        System.out.println("父類的方法");
    }
/**
 * @program: javase
 * @description: 父類
 * @Author: 小白白
 * @create: 2019/12/08 - 20:34
 **/
public class Fu {
    int num = 10;
    public void method(){
        System.out.println("父類的方法");
    }
}

this關鍵字的理解

1.在本類成員方法中,訪問本類的成員變量
2.在本類成員方法中,訪問本類的另一個成員方法
3.在本類成員方法中,訪問本類的另一個構造方法
在第三種用法當中,this調用必須事構造方法的第一個語句

/**
 * @program: javase
 * @description: 對於this的理解
 * @Author: 小白白
 * @create: 2019/12/08 - 20:42
 **/
public class This_Demo  extends This_Fu{
    int num = 20;
    public This_Demo(){
        this(10);       //本類的無參構造調用本類的有參構造
    }
    public This_Demo(int n){
        this(1,2);
    }
    public This_Demo(int x,int y){
        
    }
    public  void Shwo(){
        int num = 10;
        System.out.println(num);  //局部變量
        System.out.println(this.num);  //本類中的成員變量
        System.out.println(super.num);  //父類中的成員變量
    }
    public void methodA(){
        System.out.println("AAA");
    }
    public void menthodB(){
        methodA();       //
        this.methodA();
        System.out.println("BBB");
    }
}

在這裏插入圖片描述

發佈了58 篇原創文章 · 獲贊 43 · 訪問量 3045
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章