1. 程式人生 > >封裝繼承多型-java面向物件三大特徵

封裝繼承多型-java面向物件三大特徵

第七章  封裝和繼承

一、面向物件的三大特徵

    封裝、繼承、多型

二、封裝

    將類的屬性(欄位)設定為私有的(private),並新增getter/setter方法操作屬性。

    注意:get|set方法的固定語法格式為:get屬性名    set屬性名    
    private String name;     getName    setName
    private int userAge;     getUserAge setUserAge

    get和set方法可以成對出現,也可以只有get或者只有set。

三、包

    1.設定類所在的包:在原始檔的第一行新增:  package 包名

      package com.bdqnsjz.demo;

      public class Test{}

    2.匯入包:在原始檔的package和類名中間新增:  import 包名

      package com.bdqnsjz.demo;

      import com.dbqnsjz.homework;

      public class Test{}

    注意:

        包名由小寫字母組成,不能以圓點開頭或結尾

        包名之前最好加上唯一的字首,通常使用組織倒置的網路域名

        常見的包:java.lang:虛擬機器自動引入
                  java.util:提供一些實用類
                  java.io:   輸入、輸出

        package和import的順序是固定的:
                  1.package必須位於第一行(忽略註釋行)
                  2.只允許有一個package語句
                  3.其次是import
                  4.接著是類的宣告

四、訪問修飾符
                       同一個類中             同一個包中           子類中          任何地方           

    private              yes                     no                  no              no

    預設修飾符           yes                     yes                 no              no

    protected            yes                     yes                 yes             no

    public               yes                     yes                 yes             yes

    注意:優先順序從低到高依次為:private(私有的) < 預設 < protected(受保護的) < public(公共的)

    上述訪問修飾符適用於:屬性、方法。不適用於類。

五、static關鍵字

    static是靜態的。static可以修飾屬性、方法。被static修飾的屬性和方法又叫靜態屬性和方法。

    靜態成員和非靜態成員的區別:

    1.靜態成員有被static關鍵字修飾,非靜態成員沒有。

    2.靜態成員通過  類名.成員名 進行呼叫;非靜態成員通過  物件名.成員名 進行呼叫。

    注意:靜態成員雖然使用方便,但是靜態成員在記憶體中會一直存在,並且只有1個例項。