this 與 super 用法
阿新 • • 發佈:2019-01-13
package Extends; /*super關鍵字用來訪問父類內容而this關鍵字用來訪問本類內容,方法有三種 1.在本類的成員方法中,呼叫本類的成員變數 2.在本類的成員方法中,訪問本類的另一個成員方法 3.在本類的構造方法中,訪問本類的另一個構造方法 A.this(。。。)呼叫必須是構造方法的第一個語句(即有了this之後不會再贈送super) B.super和this兩種構造呼叫,不能同時使用 * * */ public class Character_this extends Fu { int num = 20; public Character_this() { this(10);//呼叫本類中一個引數的構造方法 System.out.println("構造方法1"); } public Character_this(int n) { this(1,2); System.out.println("構造方法2"); } public Character_this(int n, int m) { System.out.println("構造方法3"); } public void showNum() { int num = 10; System.out.println("訪問本類成員變數:"); System.out.println(num);//呼叫區域性變數 System.out.println(this.num);//呼叫成員變數 } public void methodA() { System.out.println("訪問本類成員方法:"); System.out.println("methodA"); this.showNum(); } }
package Extends; /*super關鍵字的三種用法: * 1.在子類的成員方法中,訪問父類的成員變數 * 2.在子類的成員方法中,訪問父類的成員方法 * 3.在子類的構造方法中,訪問父類的構造方法(包括無參以及全參) * * */ public class super關鍵字的三種用法 extends Fu { int num = 20 ; public super關鍵字的三種用法(){ super();//訪問父類的構造方法 } public void methodsuper關鍵字的三種用法(){ System.out.println(super.num);//父類中的num } public void method(){ super.method();//訪問父類中的method System.out.println("子類方法"); } }
package Extends;
/*JAVA類的繼承的特點:(以後會學介面繼承的特點)
1.java語言是單繼承的
一個類的(直接父類)只有一個
2.java語言可以多級繼承
java.lang.Object是所有其他類的父類
3.一個子類的直接父類是惟一的,但是一個父類可以
擁有多個子類
* */
public class Fu {
int num= 10 ;
public void method(){
System.out.println("父類方法");
}
}
package Extends; public class impl { public static void main(String[] args) { Character_this ch = new Character_this();//呼叫本類另一個構造方法 // ch.showNum();//呼叫本類成員變數 // ch.methodA();//呼叫本類另一個成員方法 super關鍵字的三種用法 sup = new super關鍵字的三種用法(); sup.methodsuper關鍵字的三種用法(); sup.method(); int num =sup.num; System.out.println(num); } }