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;//靜態成員變數,類變數
}
靜態變數:
- 屬於類的
- 類載入的時候初始化
- 不屬於物件,但是可以被所有物件共享;
使用方式:
物件名。類變數
類名.靜態變數(使用)
作用:共享。
靜態變數 和 例項變數區別:
- 靜態 屬於類;例項 屬於物件;
- 靜態類載入的時候初始化;
例項 在new建立物件時 初始化。
- 靜態 類 解除安裝時釋放。(應用程式結束,生命週期長)
例項 物件釋放了就銷燬了。
Staitic修飾方法:靜態方法,類方法。
作用:
- 使用簡單;2.不能建立物件
注意:1.靜態方法中只能直接使用靜態成員;非靜態的,需要用物件呼叫;
2.靜態方法中不能使用this,和super.
靜態方法和例項方法的區別:
- 靜態方法只能直接使用家庭成員;例項方法 可以使用靜態的也可以使用非靜態的。
- 靜態方法中不能使用this 和super。例項方法可以使用this,super.
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
- 程式碼塊:
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
3.區域性程式碼塊
- Public void 方法(){
- {
- 區域性程式碼塊:
- 作用:控制區域性變數的使用範圍
- }
- }
- 執行順序:
- Static:類載入自動執行:
- 構造塊:new物件,自動執行
- 構造塊():new 物件時呼叫
- 區域性塊: 只有呼叫方法是執行;
- Static塊>構造塊>構造器
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
靜態匯入:匯入不同包下的靜態成員
Import staitic 包名,類名,靜態變數
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
單例設計模式:只有一個物件。
餓漢式 和 懶漢式:
- 餓漢式 類載入 值就有了;懶漢式 只有在使用的時候才會賦值
- 執行緒:
多執行緒:餓漢式 安全;
懶漢式 不安全;
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
- -- - - - - - - - - - - -- - - -- - - -- - - - - -- - -- -- - - - - - - - - -- -- -- - - - - - -- -- - - - - - - -
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()