當使用的代碼再也不同一個包是,須要引包
import+包名;
子類對象的實例化過程:
流程1:產生對象並對成員變量默認初始化—對構造方法中的形式參數賦值—構造方法中是否有this語句調用是的話走流程2—super語句調用或隱式調用父類的構造方法是的話走父類流程0—對當前類中的成員變量顯式初始化
流程2:對構造方法中的形式參數賦值—構造方法中是否有this語句調用—super語句調用或隱式調用父親的構造方法按流程1方式一直追溯到Object類爲止—對當前類中的成員變量顯式初始化—執行當前構造方法中的代碼
父系流暢:super語句調用或隱式調用父類的構造方法—對構造方法中的形式參數賦值—構造方法中是否有this語句調用—super語句調用或隱式調用父類的構造方法—一直追溯到Ovject類爲止—對當前類中的成員變量顯式初始化—執行當前構造方法中的代碼
super和this調用語句不能再一個構造器中使用,this優先級高,兩句都須要時第一句
構造方法的做用是完成初始化
建立子類時會默認調用父類的構造方法
多態性:面向對象中最重要的概念,在java中有兩種體現:一、方法的重載和從新 二、對象的多態性—能夠直接應用在抽象類和接口上。
Java引用變量有兩個類型:編譯時類型和運行時類型。編譯時類型由聲明該變量時使用的類型決定,運行時類型由實際賦給該變量的對象決定。
若編譯時類型和運行時類型不同,就出現多態。多態的實現:
(1)父類數據類型
(2)繼承,方法重寫,父類對象指向子類實例
(3)一、父類數據類型不能強制轉換子類
(3)二、兄弟類之間數據類型不能轉換java