java 基礎歸納總結(三)

來源:互聯網
上載者:User

標籤:getc   try catch   except   obj   運行時   字串   system   anim   地址   

一、物件導向

   物件導向的三大特徵:  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中的基礎資料型別 (Elementary Data Type)卻不是物件導向的, 這在實際使用時存在很多的不便

  為瞭解決這個不足,在設計類時為每個基礎資料型別 (Elementary Data Type)設計了一個對應的類

    八個基礎資料型別 (Elementary Data Type)對應的類統稱為封裝類(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 基礎歸納總結(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.