面向對象
區別方法重寫(覆蓋)和方法重載?方法重寫:方法名字、參數列表和返回類型必須相同。類中只允許出現一次這樣的方法,要接著往子類當中寫入。類中的方法覆蓋,父類和子類都可以相同。
方法重載:方法名字相同,參數列表必須要不同,返回類型隨意。構造器就是典型的方法重載。
this和super關鍵字的用法:this表示的本類的方法和成員;super表示父類的方法和成員。this()和super()都必須放在一個方法的開頭。
如果子類構造器中沒有顯式地調用父類構造器,也沒有使用this關鍵字調用重載的其他構造器,則系統默認調用父類無參數的構造器,super()。
塊執行:
在一個類中有初始化塊要先執行,然后再是構造器。
如:
public class Test
{
??? String name;
?????int age;
?????String sex;
?????public Test()
?????{
??????????System.out.println("Test1被調用");
??????????sex ="Male";
??????????System.out.println("name="+name+" ,age="+age+" ,sex="+sex);
??????}
?????public Test(String theName)
?????{??
??????????System.out.println("Test2被調用");
??????????name = theName;
??????????System.out.println("name="+name+" ,age="+age+" ,sex="+sex);
?????}
?????{
??????????name = "Tony Blair";
??????????age = 50;
??????????sex = "Female";
??????????System.out.println("Test初始化塊執行后:name="+name
???????????+" ,age="+age+" ,sex="+sex);
??????}?
??????public static void main(String args[])
???? {??
?????????? Test t=new Test();
??????}
}