Object類、 常API

Object類、 常APIjava

Object類sql

[Java]純文本查看__複製代碼數組

?this

1code

java.lang.Object類: 根類, 全部類的父類orm

Object類是跟類,也是全部類的父類。對象

Object類的特色:
是全部類的父類, 任何一個類都直接或間接地繼承自Object類, 並能夠使用Object類中定義的方法
一個類若是沒有指定繼承某個父類, 則默認繼承Object類 繼承

成員方法索引

[Java]純文本查看__複製代碼ip

?

1

String toString():

返回該對象的字符串表示。

[Java]純文本查看__複製代碼

?

1

boolean equals(Object obj)

指示其餘某個對象是否與此對象"相等"。

[Java]純文本查看__複製代碼

?

1

2

3

4

5

6

7

8

9

// Object類中toString()的實現方式:做用:

任何類的對象均可調用toString(), 獲得一個對象的字符串表示形式, 默認使用Object類中定義的方式

若是不想使用默認方式, 子類能夠重寫toString()方法, 轉換爲本身想要的內容

通常咱們都要輸出JavaBean的屬性名和屬性值, Alt + Insert 選擇 toString() 便可重寫

public class Object {

public String toString() {

return getClass().getName() + "@" + Integer.toHexString(hashCode());

}

}

代碼解釋:

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

5

6

7

8

getClass`().getName()`:

getClass`(): Object類的方法`, 獲取當前對象的類的字節碼對象

getClass`().getName()`: 經過字節碼對象獲取該類的全名

Integer.toHexString`(hashCode())`

hashCode`(): Object類的方法`, 獲取當前對象地址值的哈希值

Integer.toHexString`(int n)`: 將參數轉換爲十六進制數字的字符串

最終`:`

itheima`01Object.Person@75412c2`f

Object類之equals方法

[Java]純文本查看__複製代碼

?

1

public boolean equals(Object obj)

指示其餘某個對象是否與此對象"相等"
重寫equals()的做用:
不重寫時, 自定義對象默認繼承Object類的equals()方法, 經過 == 比較地址值
但開發時, 通常要重寫equals()方法, 讓對象根據屬性值來判斷是否相等

[Java]純文本查看__複製代碼

?

1

2

3

4

5

6

// Object類中equals()的實現方式:

public class Object {

public boolean equals(Object obj) {

return (`this == obj); // 引用數據類型, ==比較對象的地址值是否相同`

}

}

日期時間相關的類
先說下三者之間的關係轉換以下:

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

5

long

\                         SimpleDateFormat

Date --------------------------------------------- String

/

Calenda

注意: 不要導錯包! 有2個包中都有Date類, 一個是java.sql.Date, 另外一個是java.util.Date
咱們用的是 java.util.Date

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

java.util.Date類`: 日期,` `表示特定的瞬間, 精確到`"毫秒"

/`/ 構造方法`

Date`(): 建立Date對象`, 表示當前系統時間

Date`(long` `date):` `建立Date對象, 使用指定的毫秒值做爲時間`

// 經常使用成員方法

[AppleScript]純文本查看__複製代碼

?

1

2

3

long getTime`(): 獲取Date對象中保存的時間毫秒值`

void setTime`(long time)`: 修改Date對象的時間

UNIX時間戳`: 0時區 1970-01-01 00:00:00 開始,` `至今通過的毫秒值(`1 = 1000 毫秒)

java.text.DateFormat抽象類: 用於格式化和解析時間. 提供了方便的方法
// 經常使用成員方法 (抽象類不能建立對象, 但能夠有非抽象的方法供子類使用)

[AppleScript]純文本查看__複製代碼

?

1

2

3

String format`(Date` `date):` `格式化, 從Date對象轉換爲String對象`

Date parse`(String source):` `解析, 從String對象轉換爲Date對象`

java.`text`.SimpleDateFormat類

// 構造方法

[AppleScript]純文本查看__複製代碼

?

1

SimpleDateFormat`(String pattern)`: 用給定的模式和默認語言環境的日期格式符號建立對象

// 經常使用模式: 可在SimpleDateFormat類中查看

[AppleScript]純文本查看__複製代碼

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

y`: 年`

M`: 月`

d`: 日`

H`: (24小時制`)

m`: 分`

s`: 秒`

E`: 星期`

D`: 年中的天`

K`: 小時(12小時制)`

S`: 毫秒`

示例`: "yyyy-MM-dd E HH:mm:ss.SSS"`

結果`: 2016-04-01 星期五 17:29:15.8`68

若是要匹配普通的英文字母`, 則須要用單引號括起來`: "'abc'"

若是要匹配單引號`, 則使用2個單引號`: "''"

// 使用指定的模式建立對象
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

[Java]純文本查看__複製代碼

?

01

02

03

04

05

06

07

08

09

10

11

12

13

public class Test {

public static void main(String[] args) throws ParseException {

// 已知日期字符串"2000-10-01"

String s = "2000-10-01"`;`

// 將該日期字符串解析爲日期對象

SimpleDateFormat sdf = new SimpleDateFormat(`"yyyy-MM-dd"`);

Date date = sdf.parse(s); // 紅線按 Alt + Enter , 選擇第一項 Add exception to method

signature

// 將date轉換爲long

long time = date.getTime();

System.out.println(time); // 970329600000

}

}

Calendar類的經常使用功能
java.util.Calendar抽象類: 表明日曆, 提供了不一樣國家的歷法, 封裝了不少時間屬性
// 靜態成員變量

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

5

6

7

static int YEAR :`年份`

static int MONTH :`月份. 注意月份數值是 0`-11

static int DAY_OF_MONTH :`日期`

static int HOUR :`小時(12小時制)`

static int HOUR_OF_DAY :`小時(24小時制)`

static int MINITE :`分鐘`

static int SECOND :`秒`

// 非靜態成員方法

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

5

int get`(int field):` `獲取指定日曆字段的值 int year` `=` `cal.get(Calendar.YEAR`)

void set`(int field, int value): 修改指定日曆字段爲指定的值`

void add`(int field, int amount): 調整指定日曆字段的值. 正數增長`, 負數減小

Date getTime`(): Calendar轉Date`

void setTime`(Date d)`: Date轉Calendar

[Java]純文本查看__複製代碼

?

01

02

03

04

05

06

07

08

09

10

11

/ 示例

// 獲取日期:

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 修改年:

calendar.set(Calendar.YEAR, 2000`);`

// 修改月:

calendar.set(Calendar.MONTH, 0`);`

// 日期增長一天:

calendar.add(Calendar.DAY_OF_MONTHY, 1`);`

// 日期減小一天:

calendar.add(Calendar.DAY_OF_MONTHY, -`1`);

long和Date對象互轉

[AppleScript]純文本查看__複製代碼

?

01

02

03

04

05

06

07

08

09

10

11

利用Date

Date`(long millis)`: long轉Date

long getTime`(): Date轉long`

String和Date對象互轉

利用SimpleDateFormat

Date parse`(String s)`: String轉Date

String format`(Date)`: Date轉String

Calendar對象和Date對象互轉

利用Calendar

Date getTime`(): Calendar轉Date`

void setTime`(Date d)`: Date轉Calendar

System類之數組複製方法

[AppleScript]純文本查看__複製代碼

?

1

java.lang.System類`: 系統相關功能`

// 靜態方法

[AppleScript]純文本查看__複製代碼

?

1

2

3

4

5

6

7

static void arrayCopy`(Object src, int srcPos,` `Object dest, int destPos,` `int length)`: 複製源數

組中指定長度個元素到一個新數組中

* Object src`: 源數組 (被複制的數組)`

* int srcPos`: 源數組索引 (從源數組的哪一個索引開始複製)`

* Object dest`: 目標數組 (要複製到哪一個數組)`

* int destPos`: 目標數組索引 (指定目標數組接收元素的索引位置)`

* int length`: 長度 (要複製的元素個數)`

相關文章
相關標籤/搜索