1. 程式人生 > >java 基礎歸納總結(三)

java 基礎歸納總結(三)

indexof set方法 返回值 substr 成員變量 bstr con 子類 數組

一、面向對象

   面向對象的三大特征:   1、封裝:將類的屬性私有化 並對外提供公共的 getset方法   2、繼承:用新類繼承已有類 可以直接使用 已有類的公共的方法和屬性   3、多態:同一個實例的多種形態       方法的重載、 方法的重寫、父類的引用指向子類的實體(繼承、實現)

   關鍵字

  this:1、指代當前對象

      2、指代當前類

   3、指代構造方法 只能放在首行

  super:1、指代父類對象

2、指代構造方法 只能放在首行

  final:1、被final修飾類 不能被繼承

      2、被fianl修飾的變量 成為一個常量
     3、被fianl修飾的方法 不能被重寫

  static:1、static先出生 非static後出生

      2、可以直接通過類名點出

  instanceof: 判斷對象是哪個類的實例

二、抽象類

定義抽象類時使用 abstract 關鍵字

語法格式
abstract 類名{ }
public abstract class Animal {
}

抽象方法
抽象方法沒有具體的實現


語法格式
訪問修飾符 abstract 返回值類型 方法名

public abstract class Animal {


protected abstract void eat();
}


抽象類和抽象方法的關系
1、 抽象類中可以沒有抽象方法
2、有抽象方法的類必然是抽象類
3、用static或final修飾的方法不能聲明為抽象方法


一個抽象類中沒有抽象方法,是為了限制其不能被實例化而只能被繼承


抽象類的成員
成員變量
可以是變量,也可以是常量
成員方法
可以是抽象方法,也可以是普通方法


抽象類的構造方法
抽象類有構造方法但不能被實例化
由子類繼承該抽象類,實例化子類
抽象類的子類要麽實現父類的抽象方法,要麽該子類繼續抽象

三、接口

接口定義
使用 interface 關鍵字定義接口
語法
public interface Flyable {


}
interface 接口名{ }


接口使用
使用 implements 關鍵字實現接口
語法
public class Parrot implements Flyable{
}


class 類名 implements 接口名{ }


1、接口不能實例化,使用接口時需要子類實現接口
2、 接口的實現
一個實現接口的類,必須實現接口內所有的方法,否則該類就必須聲明為抽象類


成員變量
接口中的成員變量只能是常量,默認的修
飾符 public static final
任何類都可以直接訪問到接口中的常量


成員方法
接口中的方法只能是抽象方法,默認修飾
符 public abstract


成員特點
接口沒有構造方法
接口主要目的是擴展功能,沒有具體存在


接口的多實現
一個類可以實現多個接口

class 類名 implements 接口名1,接口名2,…{ }


關系

類和類 繼承關系,只能單繼承,可以多層繼承

類和接口 實現關系,類實現接口,可以多實現

接口和接口 繼承,可以單繼承,也可以多繼承


區別

抽象類
成員變量 -----變量/常量
成員方法------ 抽象/非抽象方法
構造方法------ 有
關系------------ 繼承


接口
成員變量 ------ 常量
成員方法 -------抽象方法
構造方法 -------沒有
關系 ----------- 實現

四、String類介紹

String是引用數據類型
但是String實際上java給我們提供的是一個類

註意:String 全類被fianl所修飾 所以 String 又叫 字符串常量
String 的值 一旦定義 不可以改變

String 的創建方式
1、直接賦值
String str = "coco";
2、通過new關鍵字
String str1 = new String("fdsfs");


String的比較方式:
1、equals() : 比較兩個String的值 是否一樣
2、 == : 比較兩個String 的地址

String的常用方法:

equals(): 判斷兩個String的值 是否相等

equalsIgnoreCase(): 判斷兩個String的值 是否相等 並且忽略大小寫

startsWith():以什麽開始
endsWith():以什麽結束

isEmpty():判斷字符串的長度是否為0

length():計算字符串的長度
getBytes():

str.substring():字符串的截取
split():以某種規則進行拆分
replace():替換


toCharArray():轉成char型數組
charAt(): 根據下標取單一的字符

contains():是否包含
indexOf():返回下標

toLowerCase(): 轉小寫
toUpperCase(): 轉大寫

valueOf():將滿足條件的參數 轉換成 String類型

五、工具類

一:Object類

1、在Java中,Object類是所有其它類的父類,位於java.lang包 ?

2、所有類都直接或間接的繼承Object類,所以省略了extends Object ?

3、Object中提供了多個方法,方便子類重寫或直接調用

Object的toString方法:子類可以重寫toString(),自定義對象的字符串輸出格式

  getClass方法:可以通過Class類中的getName方法,獲取對象的真實類的全名稱

   hashCode方法:同一個對象的hashCode()值肯定相同

equals( )方法:

二、System類

1、System類提供了系統級的很多屬性和控制方法,位於java.lang包

2、System類是final類不能被實例化,所有方法和屬性都是靜態的


當前時間:
SimpleDateFormat sd = new SimpleDateFormat( "yyyy-MM-dd");

Date date = new Date( );
String time = sd.format( date);
system.out.println(time);

三、Random類

1、Random類用於生成偽隨機數,位於java.util包 ?

2、Random對象的生成


四、Math類

1、Math類提供了執行基本數學運算的方法,位於java.lang包

2、Math類是final類不能被實例化,所有方法和屬性都是靜態的

五、Arrays類

Arrays類提供了一系列操作數組的方法,位於java.util包中


六、包裝類

Java語言是面向對象語言,但Java中的基本數據類型卻不是面向對象的, 這在實際使用時存在很多的不便

  為了解決這個不足,在設計類時為每個基本數據類型設計了一個對應的類

    八個基本數據類型對應的類統稱為包裝類(Wrapper Class)

六、異常

(Throwable類)

1、 Error 錯誤--無法挽救

2、Exception 異常 --程序中的小bug,可以修復


a)受檢異常--在程序中定義代碼的時候直接有紅線提示。

b)運行時異常--語法格式正確,運行時發生異常;

捕獲 (現場發現 現場處理)
try{
//可能發生異常的代碼
}catch(異常的類型 異常對象){
//打印異常信息
//其他處理
}
註意:同一句代碼 可能出現多個異常 添加多個對應的catch塊

try……catch執行順序
註意:在定義多個catch塊的時候 需要註意他們的順序 (父類異常 只能定義在子類異常的下面
多個catch塊不能定義相同的異常
1、如果try中的代碼 沒有出現異常 那麽會直接跳過catch塊
2、如果try中的代碼發生了異常 那麽會根據出現的異常依次向下匹配對應的異常 打印輸出
try……catch……finally


拋出異常
(一般來說不會直接在main方法拋出異常
拋出了異常 一定要處理掉 )
公式:方法頭(方法的定義)throws 異常類型
public static void getReuslt() throw ArithmeticException
使用拋出的方式 並不是在處理異常 只是提示調用者 這個地方會出現異常

捕獲和拋出:
1、捕獲是在處理異常
拋出是提示異常
2、捕獲:try catch
拋出:throws
3、捕獲是針對的可能出異常的代碼 直接處理
拋出:是定義在方法頭上


throw和throws的區別:

throw:定義在方法體中

throws:定義在方法頭

java 基礎歸納總結(三)