JAVA基礎----持續更新,java基礎----
1.基礎資料型別 (Elementary Data Type) - 整數型:byte short int long 預設為int 計算時需要轉換 - 浮點型:float double 預設為double - 布爾類型:boolean - 字元型 2.參考型別 包括數組,類,介面 類型 引用對象 = new 構造方法( ); Person p = new Person(); Person作為一個參考型別 3.函數或方法 - 方法的重載:函數名一樣,參數個數、類型不一樣,傳回值可相同可不同 - 重載和重寫的區別 重寫是繼承 函數名,參數類型,個數相同 發生在父類和子類別關係的類,子類定義與父類完全相同的方法,子類調用時候直接調用子類重寫的方法 重載不用繼承 函數名相同,參數的類型,個數,順序不同 發生在一個類中4.物件導向 設計ATM機的終端系統: ATM機; 銀行卡 錢 類是抽象的 建立的對象是具體的 資料傳遞時候:考慮的是對象與對象之間的傳遞資料 對象是類的具體執行個體 存取權限 --四個 private:本類中 預設: 本包中 protecte:本包中、外包的子類中 public:整個項目中 ①封裝 把對象的屬性和行為結合在一個獨立的系統單元內部 - 封裝.jar包 cmd命令:javac 執行java檔案 使其產生.class檔案 javac -d 執行.java檔案和.class檔案 壓縮成.jar檔案之後需要重新解壓 修改met檔案夾中的檔案 將包名和類型全部修改 重新壓縮 否則執行不了 ②繼承(泛化) extends 父類:超類,基類 子類:衍生類別 super():調用父類構造器 this():調用本類構造器 ③多態 多態必須建立在繼承的基礎上,沒有繼承就沒有多態 當父類作為方法的形參時,所有的子類都可以傳遞
父類的引用指向子類對象
Fruit f = new Apple();//Fruit作為父類,指向子類Apple
構造器 完成對象的建立(執行個體化) 一般也完成對象的初始化
public class Person{ String name; int age; String sex; //構造器 public Person(String name, int age,String s){ this.name=name; this.age=age; this.sex=sex; }}
構造方法 建立對象 為屬性賦初始值 預設一個無參數的構造方法 但是一旦定義了有參數的構造方法,則不會產生預設的無參構造方法 關於父類子類的執行順序
變數 - 局部變數:定義在方法體中,或方法的形參 - 執行個體變數:類的屬性,全域變數 - 靜態變數:聲明為static的屬性 記憶體的類別
Penson p = new Person("aa","11","male");//對象名 p 存放在棧記憶體中 ,屬性值存在堆記憶體中,p 也稱為對象的引用
棧記憶體
- 基礎資料型別 (Elementary Data Type)的局部變數,對象的引用值 堆記憶體 - 對象的屬性,數組的元素 有New 就用堆記憶體 在其他類中或者方法中 ,要想訪問對象的方法或者屬性,就必須執行個體化這個類,然後通過對象名和點操作符來完成;在本類中直接存取 記憶體回收機制:作用於堆記憶體super() 調用父類的構造方法 static 類變數(靜態變數) 所有類共用,只在類載入的時候建立,執行一遍 可以直接調用,類存在static變數就存在局部變數不允許被static修飾執行個體變數 非static屬性 非靜態方法 必須 用對象來調用
public class Test{ public void add(int a,int b){} public static void main(String []args){ Test t = new Test; t.add(1,2); }}//add是非靜態方法,main方法是靜態,所以只能先創造出Test對象,再調用add函數
資料類型的轉換 向上轉型:子類轉換為父類,具有繼承和實現關係,損失子類新擴充的屬性,方法 向下轉型:強制轉換
Animal a = new Cat();//向上轉換Cat c = (Cat)a;//向下轉換
instanceof 運算子判斷經過上溯轉型後是哪個子類的
object instanceof class//判斷一個對象是否屬於一個類object instanceof interface//判斷一個對象是否屬於一個介面//傳回值都是boolean
final 可以修飾: - 類:不能被繼承了 - 變數:相當於常量 - 方法:
介面 中只有常量和抽象方法 常量:public static final 抽象方法:public abstract
抽象類別 用 abstract 定義的類