1. 程式人生 > >Java中的Liu、繼承、組合

Java中的Liu、繼承、組合

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Alt +Shift +s 快捷鍵

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

程式包:

管理類和介面的工具。

//宣告一個程式包,package 包名[.子包…..]

規範:

   字母都消協;

   ②包名都是唯一的;

   ③包具有層次結構;

   ④域名反轉,部門名.專案名;

程式包使用:

不同包:

不同包下的類互相訪問,需要匯入包;

   import 包名.型別名;

   import 包名.*;

或者 使用 完全限定名稱:包名,類名;

②有子包。需要匯入具體包的類;直接匯入父類的包,不能匯入子類。

③兩個包下的類同名,需要用完全限定名稱訪問。

包的好處

  • 管理類;
  • 解決了命名衝突;

③提供了更好的封裝,保護了類和類中的成員;

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -、

常見的包:

Java.lang :核心類庫

Java.util:工具類 集合類

Java.text:格式化

Java.math:數學

Java.io: 流

Java.sql:資料庫

Java.net;網路程式設計

記住!記住!記住!

本類

同包

子類

不同包

Private私有

預設

Protected保護

Public公有

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

修飾類 :public,預設

修飾類中的成員:屬性,方法,構造器,

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Static

修飾符

靜態

修飾:屬性,方法,程式碼塊,類(內部類)

修飾屬性:

Class Demo{

Int n;//實現成員變數;

Static int x;//靜態成員變數,類變數

}

靜態變數:

  1. 屬於類的
  2. 類載入的時候初始化
  3. 不屬於物件,但是可以被所有物件共享;

使用方式:

物件名。類變數

類名.靜態變數(使用)

作用:共享。

靜態變數  和 例項變數區別:

  1. 靜態 屬於類;例項 屬於物件;
  2. 靜態類載入的時候初始化;

例項 在new建立物件時 初始化。

  1. 靜態 類 解除安裝時釋放。(應用程式結束,生命週期長)

例項 物件釋放了就銷燬了。

Staitic修飾方法:靜態方法,類方法。

作用:

  1. 使用簡單;2.不能建立物件

注意:1.靜態方法中只能直接使用靜態成員;非靜態的,需要用物件呼叫;

      2.靜態方法中不能使用this,和super.

靜態方法和例項方法的區別:

  1. 靜態方法只能直接使用家庭成員;例項方法 可以使用靜態的也可以使用非靜態的。
  2. 靜態方法中不能使用this 和super。例項方法可以使用this,super.

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

  • 程式碼塊:
  •                                       

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

3.區域性程式碼塊

  • Public void 方法(){
  • {
  •   區域性程式碼塊:
  •   作用:控制區域性變數的使用範圍
  • }
  • }
  • 執行順序:
  •       Static:類載入自動執行:
  •       構造塊:new物件,自動執行
  •       構造塊():new 物件時呼叫
  •       區域性塊: 只有呼叫方法是執行;
  • Static塊>構造塊>構造器

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

靜態匯入:匯入不同包下的靜態成員

Import staitic 包名,類名,靜態變數

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

單例設計模式:只有一個物件。

餓漢式 和 懶漢式:

  1. 餓漢式 類載入 值就有了;懶漢式 只有在使用的時候才會賦值
  2. 執行緒:

多執行緒:餓漢式 安全;

       懶漢式 不安全;

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Math類

隨機數

產生隨機數

(int)(Math.random()*(最大值 - 最小值 + 1)+最小值)

Random類:

Random r1 = new Random(11);

Random r2 = new Random(11);

System.out.println(r1.nextDouble());

System.out.println(r2.nextDouble());

相同的種子 在相同的時間 和次數產生的隨機數是一樣的。

nextInt()

nextDouble()