我先把題目貼出來,一點都不懂的就看我對照這幾個題講解super再聯絡後面的習題
不要說我不寫測試類哇,我這個是為了方便子類繼承父類的話會先實現父類的構造方法!!!及時不寫super();都會優先實現父類的無參構造class
super
public
super
(string str)
}public
class
subextends
super
public
sub(
int i)
public
sub(string str)
public
static
void
main
(string[
] args)
}
sub s1 = new sub();當讀到這一條時應該先實現super的無參構造
system.out.println(「super()」);
再實現sub的無參構造
system.out.println(「sub()」);
sub s2 = new sub(10);中有乙個int型別的引數
那我們回過頭去找找
大家可能有問題這個this()是個啥public
sub(
int i)
this()大家看裡面是沒東西的,那麼他指的是子類的還是父類的呢?
他這裡的this()應該指的是就近的無參構造就是sub()
!!!那麼呼叫了sub()那就要實現sub()的父類無參構造不然沒有爸爸哪來的兒子
就把無參構造又走了一遍答案就是
system.out.println(「super()」);
system.out.println(「sub()」);
再看到 sub s2 = new sub(10);他父類沒有int 引數的方法那就直接執行唄
system.out.println(「sub(int)」);
最後:**sub s3 = new sub(「hello」);**子類和父類中都有string型別的就有是先執行父類構造方法再執行子類構造方法咯
system.out.println(「super(string)」);
system.out.println(「sub(string)」);
所以最後答案顯而易見咯
//super()
//sub()
//super()
//sub()
//sub(int)
//super(string)
//sub(string)
Super與this 構造方法繼承
super與this super關鍵字 我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前物件的父類。this關鍵字 指向自己的引用。例如 class animal class dog extends animal void eattest public class test 輸出結果...
構造方法中的this和super
自己第一次看完se的時候還不是很了解,這些什麼this,super,但是現在要開始找實習工作了,自己打算就把se,框架等在看一遍,也把自己看的一些整理出來 this 當前類的物件的引用 那有那些應用呢?1.區分成員變數和區域性變數 這段 我相信很多人都寫過,在setname 方法中有乙個和成員變數重...
java 構造方法中super 的作用
class father class son 如果只是這樣,那麼構造son之前會在後台呼叫一下super 函式,呼叫過程你看不到,但是確實執行了,結果是先father後son 但是這種時候你顯示的寫個super就沒有意義了,那麼他在什麼時候用呢,再舉個例子 給你舉個例子 class father f...