1. 程式人生 > >JAVA基礎----持續更新

JAVA基礎----持續更新

image 新解 基本數據類型 args javac class 整數 strong 命令

1.基本數據類型 - 整數型: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 也稱為對象的引用

棧內存
- 基本數據類型的局部變量,對象的引用值 堆內存 - 對象的屬性,數組的元素 有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 定義的類

JAVA基礎----持續更新