Day10 封装,包管理

Day10

封装性的体现(需要权限修饰符来配合)

  1. java規定的四種權限修飾符

    • private
    • 缺省(default)
    • protected
    • public
  2. 權限如下

    修飾符類內同一個包不同包的子類同一個工程
    privateYes
    (缺省)defaultYesYes
    protectedYesYesYes
    publicYesYesYesYes
  3. 對於class的修飾只能用public和(缺省)default

    • public類可以在任意地方訪問
    • default類只能被同一個包內部的類訪問
  4. 可以用來修飾:類,累的內部結構(屬性,方法,構造器,內部類)

    • 四種修飾符都可以用來修飾內部結構
    • 只有public和default可以用來修飾類
  5. 高內聚,低耦合

    • 高內聚:類的內部數據操作細節自己完成,不允許外部干涉
    • 低耦合:僅對外部暴露少量方法用於使用

構造器的基本理解

構造器(或稱構造方法,constructor)

構造器的作用

  1. 創建對象(??是對的麼?)
  2. 初始化對象的屬性

說明

  1. 如果沒有顯示地定義構造器,系統沒人提供一個無參構造器

  2. 定義構造器的格式:權限修飾符 類名(參數列表){};

    //創建類的對象:new + 構造器
    //構造器不能簡單地理解爲方法
    //參數列表可以爲空,即無參構造
    
  3. 多個構造器構成重載

  4. 一旦顯示地定義構造器,則體統不再提供無參構造

  5. 一個類中,至少有一個構造器

  6. 構造器的權限默認與類的權限相同?

JavaBean

指的是:

  • 類是公共的
  • 有一個無參的公共構造器
  • 有屬性,有對應的get,set方法

this

this關鍵字 的使用

我們應當注意到,java與C++不同,它並不會自動識別類的屬性和形參

class A{
    int data;
    public A(int data){
        data = data; // Wrong 
        this.data = data; // Right
        
    }
}
  1. this 可以用來修飾 屬性,方法,構造器

    • this理解爲當前對象或當前正在創建的對象

    • this可以調用構造器,調用形式爲:this();

      class A{
          int data;
          public A(){
              System.out.println("A()");
          }
          public A(int data){
              this();
              this.data = data;
          }
      }
      
    • 構造器中只能調用別的構造器,不能調用自己

    • 如果有n個構造器,則最多有n-1個構造器使用this(參數列表)

    • 規定:使用this調用構造器必須放在當前方法的首行

    • (一個構造器內部,只能調用一個構造器)

關鍵字package和import

package的使用

  1. 爲了更好地實現項目中的類的管理,提供了包的概念

  2. 使用package聲明類或接口所屬的包,聲明在源文件的首行

  3. 包屬於標識符,遵循相關的命名規則

  4. 每’.'一次,代表一層文件目錄

  5. 同一個包下,不可以命名同名的接口或類

    不同包下,可以命名同名的接口或類

import

  1. 在源文件中顯示地導入指定包中的某個類
  2. 聲明在包聲明和類聲明之間
  3. 導入多個結構,並列寫出即可
  4. 可以使用"xxx.*"的方式,導入包中的所有類
  5. 類似String之類的類屬於java的核心包(java.lang),無需手動導入
  6. 如果使用的結構是本包下的類或結構,無需導入
  7. 如果兩個包中的類同名,則在使用時使用全類名(至少有一個需要使用全類名)
  8. 使用”xxx.*“的方式可以導入包中的所有結構,但如果要使用包中子包,則仍舊需要顯示地導入子包
  9. import static 包名:導入包中類或接口的靜態結構
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值