#Java基礎(複習)
阿新 • • 發佈:2021-01-12
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.介面中預設方法名 //呼叫介面中的預設方法