- 面向對象的三大特性: 封裝性、多態性、繼承性。
- Java語言特點: 魯棒、自動垃圾回收、跨平臺、多線程、面向對象、簡單性、解釋執行。
- Java的三大版本: Java SE、Java EE、Java ME。
- 第一個Java程序:
- javac 文件名.java。
- java(類名) (無java後綴名)。
- Java源文件編譯成class字節碼文件 (javac)
- class文件解釋成機器碼並執行 (jvm)
- JDK JRE JVM
- JDK=Java Development Kit Java開發工具包 ========》開發
- JRE=Java Runtime Environment Java運行時環境 =======》運行
- JVM=Java Virtual Machine Java虛擬機=============》運行
- JDK包含JRE\JRE可以獨立存在\JRE包含JVM
類的基本結構
類的聲明形式
- 【訪問權限修飾符】【修飾符】class 類名{【類體】}
public static class InnerClass{ } public class HelloWorld { } class HelloMyLittleWorld { }
- 訪問權限修飾符: public protected (defualt) private (從大到小的順序)
屬性的聲明方式
- 【訪問權限修飾符】 【修飾符】 數據類型 屬性名【=初值】
String name; //public 訪問權限修飾符 // static final 修飾符 // String 數據類型 // MAX_SALARY 屬性名 //=20000000 初值 public static final String MAX_SALARY=2000000;
方法的聲明方式
- 【訪問權限修飾符】【修飾符】 返回值類型 方法名(形式參數列表){}
public static void main(String[] args){ 【return ;】 }
- 方法即對象的行爲
方法重載
- 方法名必須相同
- 參數不同
- 順序不同 (變量名不影響效果,前提,參數的類型要不同)
- 類型不同
- 參數個數不同
- 在同一作用域
構造方法的聲明方式
- 【訪問權限修飾符】 類名 (形式參數列表) {方法體}
public Dog(String name){ this.name=name; }
構造方法的作用是創建對象
當不寫構造方法時,默認存在一個公開的無參構造發放
- 當寫了構造方法時,默認的無參構造方法就不存在了
創建對象
- 創建了兩個實體
- 對象引用變量,存放在棧內存區(stack)中
- 對象本身,存放在堆(heap)內存區中
- 對象引用變量存儲的是對象本身的虛地址,通過對象引用變量可以操縱對象本身
創建對象的過程
- 加載 類 到 內存
- 初始化屬性,存在堆中
- 調用構造器創建實例,存在堆中
- 在棧中創建引用變量,並把對象的虛地址賦給棧中的變量
Java簡單語法
簡單規則
- 分號
- 塊
- 關鍵字
- public static void new class package
- private protected this return
- if else switch for while do case default break
- byte short int long float double boolean char
- 空白
ctrl
+shift
+f
整理格式
- 花括號
- 註釋
- 單行註釋 //
- 多行註釋 /* */
- 文檔註釋/* / javadoc
標識符的規則
- 必須由字母、數字、下劃線、$組成
- 數字不能爲開頭
- 不能爲系統關鍵字
- 區分大小寫
- 不能用#%@&等符號
- 遵循一定規則
- 類名 首字母 大寫,用第二個單詞的首字母大寫來分詞 駝峯式命名法
- 變量名、方法名、屬性名 首字母小寫,用第二個單詞的首字母大寫來分詞 駝峯式命名法
- 常量(static final) 全部大寫,用下劃線分詞,注意賦初值
- 長度不限
- 中間不能有空格
- 在某個範圍內是唯一的
Java表達式
- 逗號表達式
- 問號表達式:三元運算符
- 邏輯表達式
- 正則表達式
訪問權限修飾符
包的概念
- 將邏輯相關的類組織在同一個包內,控制訪問權限
- package
- import
訪問權限修飾符及其權限
私有權限 | 同包權限 | 子類可訪問權限 | 公開權限 |
---|---|---|---|
private | √ | ||
(default) | √ | √ | |
protected | √ | √ | √ |
public | √ | √ | √ |
- 屬性的封裝方式
- 將一組邏輯相關的屬性方法封裝在類中,通過訪問權限修飾符來隱藏內部細節,公開訪問的接口的技術稱爲類的封裝技術
- 隱藏內部細節,保護其不受外部影響,方便內部的修改
- 同時降低外部使用的複雜度
- 屬性用private隱藏,方法用public公開
- setter getter的寫法
- private屬性 grade success(boolean)
- getter : public 數據類型 get屬性名(){return 屬性名;} getGrade
- boolean getter : public boolean is屬性名(){return 屬性名;} isSuccess
- setter: public void set屬性名(數據類型 屬性名){this.屬性名=屬性名;} setSuccess
java
public class Cat {
private String name;
private int age;
private boolean full;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isFull() {
return full;
}
public void setFull(boolean full) {
this.full = full;
}
}
系統關鍵字
- 類相關:
class interface enum extends implements return package import void this new super instanceof
- 訪問權限修飾符
protected public private
- 流程
for if else switch case default break continue do while
static
- 八種基本數據類型
byte short int long float double char boolean
- 修飾符
static final abstract synchronized native volatile transient
- 異常相關
- try catch finally throw throws
- 其他
assert
null