一、區域變數(方法內變數)、成員變數、父類成員變數,介面變數——重名:區域變數——直接使用;
成員變數——this.變數名;
父類成員變數——super.變數名;
介面變數——介面名.變數名。
public class Zi extends Fu implements Inter1{
int same = 20;
public void main(int same){
System.out.println(same);
System.out.println(this.same);
System.out.println(super.same);
System.out.println(Inter1.same);
}
}二、方法重名,看new的是誰,方法就用誰的。
此外,介面、子類、父類,假如new的是子類,那么同名方法的先后順序為,子類>父類>介面。如下列代碼,在找zi.chongming(),假如子類有chongming這個方法,則用子類,假如沒有,則去找父類代碼里面有沒有chongming,如果還沒有,就去找介面里面。
Zi zi = new Zi();
//zi.main(50);
zi.chongming();//先去找Zi類的,再去找Fu類的,再去找Inter1介面的
Fu fu = new Fu();
fu.chongming();//直接找父類的,沒有就沒了,因為沒加介面
三、呼叫2介面時,2介面中有方法重名:
如果呼叫的2個介面有同樣的方法,可以忽略看做一個方法就行,需要進行覆寫重寫,因為子類覆寫重寫一個方法,2個介面里面的方法都得到覆寫重寫。
四、外部類變數、內部類變數、內部類方法變數重名:外部類變數——外部類名稱.this.變數名;
內部類變數——this.變數名;
內部類方法變數(區域變數)——直接參考。
public class In_Out {
int num = 10;
public class InMethod{
int num = 20;
public void method(){
int num = 30;
System.out.println(num);//區域變數
System.out.println(this.num);//內部類變數
System.out.println(In_Out.this.num);//外部類變數
}
}
}如果有錯誤或者有拓展,麻煩大家在評論區指出來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34366.html
標籤:非技術區
上一篇:最近老師讓我們用java 實作一個opc客戶端 能從其他opc服務端上獲取資料
下一篇:為什么12306那么慢
