1. 程式人生 > 實用技巧 >#Java基礎(複習)

#Java基礎(複習)

Java基礎(複習)

環境

JDK、JRE和JVM

JRE=JVM+JavaSE標準類庫
JDK=JRE+開發工具集(例如Javac編譯工具)

Java程式執行過程

.java原始檔 -編譯器-> .class位元組碼檔案 -直譯器-> 程式執行

常量與變數

float型別變數定義的資料必須在後面加f或F說明,Java中浮點數預設是double型別
'\u0016' Unicode編碼,'\u'開頭
final定義常量,類似c++中從const

Java運算子

&&與,有一個false則後面不執行,&則都要計算
||或,有一個true則後面不執行,&則都要計算

Java語法之迴圈、陣列與方法

遍歷陣列寫法

    int[] a={33,22,11,45,74,56};
    for (int n:a){
        System.out.print(n+"  ");
    }

包package

定義包

匯入包

static定義靜態屬性和靜態方法

在類中
普通程式碼塊每次建立物件時呼叫

{
	name="xxx";
}

靜態程式碼塊只執行一次

static{
	name="xxx";
}

繼承

第一行構造方法初始化super()和this()不能同時出現

Object類

Object類是所有類的父類

final修飾類

單例模式

package com.singleton;

//餓漢式:建立物件例項的時候直接初始化
//空間換時間
public class SingletonOne {
    //1. 建立類中私有構造
    private SingletonOne(){

    }

    //2. 建立該型別的私有靜態例項
    private static SingletonOne instance = new SingletonOne();

    //3. 建立公有靜態方法返回靜態例項物件
    public static SingletonOne getInstance(){
        return instance;
    }
}
package com.singleton;

//懶漢式:類內例項物件時並不直接初始化,直到第一次呼叫get方法時才完成初始化的操作
//時間換空間
public class SingletonTwo {
    //1. 建立私有構造方法
    private SingletonTwo(){

    }

    //2. 建立靜態的該類例項物件
    private static SingletonTwo instance = null;

    //3. 建立公有靜態方法返回靜態例項物件
    public static SingletonTwo getInstance(){
        if(instance==null)
            instance=new SingletonTwo();
        return instance;
    }
}




多型

instanceof運算子,判斷物件型別是否一致

型別轉換

向上轉型、隱式轉換
向下轉型、強制型別轉換

抽象類abstract

抽象類不能被例項化,防止編寫無意義的程式碼
可以通過向上轉型,指向子類例項

抽象方法

不允許包含方法體
父類中宣告抽象方法,子類中必須實現該抽象方法
如果子類中不想實現抽象方法,則子類必須也宣告為抽象類

介面

定義 interface
實現 implements
通過介面來描述不同型別具有相似行為特徵,從而建立關係後以介面引用指向實現類的方式,來描述不同型別對於介面行為的表現

介面中方法許可權預設public
當類實現介面時,需要去實現介面中的所有抽象方法,否則需要將該類設定為抽象類
介面中可包含常量,預設public static final 使用 介面名.常量 訪問

default 修飾介面中預設方法,可以帶方法體

static 修飾介面中靜態方法,可以帶方法體,介面中的靜態方法只能通過介面名來呼叫

介面名.super.介面中預設方法名 //呼叫介面中的預設方法