1.面向?qū)ο蟮奶卣鳎?br>
(1)繼承:extends關(guān)鍵字實現(xiàn)父子類關(guān)系,子類可以用父類中的屬性和方法,也可以定義自己的屬性和方法,一個類可以有多個子類,但是一個類只能有一個父類
2.構(gòu)造器:
創(chuàng)建子類對象時,首先會創(chuàng)建父類對象,
編譯器會在子類構(gòu)造器的第一行默認加入super();調(diào)用父類的無參構(gòu)造器,要調(diào)用父類中有參的構(gòu)造器,必須用super(參數(shù)1,參數(shù)2...);
super(),必須寫在子類構(gòu)造器的第一行。
3.重寫:發(fā)生在父子類之間,要求:方法名和參數(shù)列表一樣,方法實現(xiàn)不一樣
方法重寫和重載的區(qū)別:
重載:發(fā)生在同一個類中,方法名一樣,參數(shù)列表不一樣(參數(shù)類型,參數(shù)個數(shù),參數(shù)順序不一樣)
重寫:發(fā)生在父子類之間,要求:方法名和參數(shù)列表一樣,方法實現(xiàn)不一樣
1.1方法重寫時,到底調(diào)用哪個方法根據(jù)對象的類型定,對象是什么類型就調(diào)用該類中的方法
1.2父子類中存在相同的屬性時,到底調(diào)用哪個類中的屬性,根據(jù)變量的類型來定,變量是什么類型,就調(diào)用哪個類的屬性
1.3如果想在子類中調(diào)用父類的屬性和方法用super關(guān)鍵字如:
super.f(),super.name;

如果想在子類中調(diào)用父類的構(gòu)造器用,可以在子類的構(gòu)造器的第一行寫super(參數(shù)(可有可無));

如果想在自己類中調(diào)用自己的構(gòu)造器可以寫this()如:

(2)封裝
封裝:就是隱藏實現(xiàn)細節(jié)
(1)將屬性私有化,提供公有方法訪問私有屬性
(2)通過這些公有方法訪問私有屬性
封裝的實現(xiàn):
(1)修改屬性的可見性來限制對屬性的訪問
(2)為每個屬性創(chuàng)建一對賦值(setter)方法和取值(getter)方法,用于對這些屬性的訪問
4.包(package):如果只是用類名來作為唯一標識的話,容易出現(xiàn)類名重復(fù),為了解決類名重復(fù)的問題,可以定義包來區(qū)分
定義包的時候要在定義類之前,語法:
Package包名
包的命名規(guī)范:Java的包名都有小寫單詞組成
命名:com.公司名.項目名.模塊名
com.eduask.shoppingcart.login
(3)多態(tài)