Java基礎----Object類和常用API
第一章 Object類
1.1 概述
java.lang.Object
類是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。在物件例項化的時候,最終找的父類就是Object。 如果一個類沒有特別指定父類, 那麼預設則繼承自Object類。例如:
public class MyClass /*extends Object*/ {
// ...
}
根據JDK原始碼及Object類的API文件,Object類當中包含的方法有11個。今天我們主要學習其中的2個:
public String toString()
:返回該物件的字串表示。public boolean equals(Object obj)
1.2 toString方法
方法摘要
public String toString()
:返回該物件的字串表示。
toString方法返回該物件的字串表示,其實該字串內容就是物件的型別[email protected]+記憶體地址值。
由於toString方法返回的結果是記憶體地址,而在開發中,經常需要按照物件的屬性得到相應的字串表現形式,因此也需要重寫它。
覆蓋重寫
如果不希望使用toString方法的預設行為,則可以對它進行覆蓋重寫。例如自定義的Person類:
import java.util.Objects;
public class Person {
// 屬性
private String name;
private int age;
// 構造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public Person() {
}
// setter & getter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
toString()
方法重寫 :
// 重寫 Object 類的 toString() 方法.
// 說明 : 幾乎開發中, 每一個類都需要重寫 Object 類的 toString() 方法. 因為每一個類都擁有自己的特有資料.
@Override
public String toString() {
return "Person {name = "+name+", age = "+age+"}";
}
// 小結 : toString() 方法的作用 : 自定義物件的輸出資訊.
/*@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}*/
在IntelliJ IDEA中,可以點選Code
選單中的Generate...
,也可以使用快捷鍵alt+insert
,點選toString()
選項。選擇需要包含的成員變數並確定。如下圖所示:
小貼士: 在我們直接使用輸出語句輸出物件名的時候,其實通過該物件呼叫了其toString()方法。
1.3 equals方法
方法摘要
public boolean equals(Object obj)
:指示其他某個物件是否與此物件“相等”。
呼叫成員方法equals並指定引數為另一個物件,則可以判斷這兩個物件是否是相同的。這裡的“相同”有預設和自定義兩種方式。
預設地址比較
如果沒有覆蓋重寫equals方法,那麼Object類中預設進行==
運算子的物件地址比較,只要不是同一個物件,結果必然為false。
物件內容比較
如果希望進行物件的內容比較,即所有或指定的部分成員變數相同就判定兩個物件相同,則可以覆蓋重寫equals方法。例如:
// 重寫 equals 方法
// 目的 : 自定以兩個物件的比較規則. 每一個物件都會擁有自己的比較規則. 因為每一個類都應該重寫 Object 類的 equals 方法.
@Override
public boolean equals(Object obj) {
// 1. 先比較一下物件的記憶體地址
if (this == obj) {
return true;
}
// 2. 比較姓名和年齡
// 條件一 : obj 傳入引數不能為 null.
// 條件二 : 兩個物件的型別必須一致. this 目前是 Person 類, 要求 obj 物件必須是 Person 類, 否則直接返回 false
if (obj == null || this.getClass() != obj.getClass()) {
return false;
}
// 3. 如果 obj 是 Person 型別, 比較兩個物件的 `年齡和姓名`
// 3.1 將 obj 物件向下轉型
Person p = (Person) obj;
// 3.2 比較兩個物件的姓名和年齡
// 說明 : String 類重寫了 Object 類的 equals 方法, 實現了根據字元內容來進行比較. 而不是字串的地址.
// boolean result = this.age == p.age && this.name.equals(p.name);
// 說明 : this.name.equals(p.name); 該方法可以優化. JDK 7 之後, 出現了 Objects 工具類.
// Objects 工具類提供一個 equals 方法, 可以使用
// return (this.age == p.age) && (this.name == p.name && this.name != null && this.name.equals(p.name));
return this.age == p.age && Objects.equals(this.name, p.name);
}
/*
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}*/
這段程式碼充分考慮了物件為空、型別一致等問題,但方法內容並不唯一。大多數IDE都可以自動生成equals方法的程式碼內容。在IntelliJ IDEA中,可以使用Code
選單中的Generate…
選項,也可以使用快捷鍵alt+insert
,並選擇equals() and hashCode()
進行自動程式碼生成。如下圖所示:
tips:Object類當中的hashCode等其他方法,今後學習。
1.4 Object類
在剛才IDEA自動重寫equals程式碼中,使用到了java.util.Objects
類,那麼這個類是什麼呢?
在JDK7添加了一個Objects工具類,它提供了一些方法來操作物件,它由一些靜態的實用方法組成,這些方法是null-save(空指標安全的)或null-tolerant(容忍空指標的),用於計算物件的hashcode、返回物件的字串表示形式、比較兩個物件。
在比較兩個物件的時候,Object的equals方法容易丟擲空指標異常,而Objects類中的equals方法就優化了這個問題。方法如下:
public static boolean equals(Object a, Object b)
:判斷兩個物件是否相等。
我們可以檢視一下原始碼,學習一下:
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
測試類程式碼
public class Test {
public static void main(String[] args) {
// 1. 建立一個 Person 物件
Person p1 = new Person("張三", 18);
Person p2 = new Person("張三", 18);
// 2. 輸出物件, 檢視資訊 (物件的屬性資訊).
// p1 = cn.itcast.object.Person `包名+類名` @ 58ceff1 (記憶體地址)
// Java 語言 : 列印列印, 預設就是呼叫該物件的 toString() 方法.
// 請問1 : toString() 是誰定義的方法 ??? 是 Object 類定義的.
// Person 類預設繼承 Object 類, 因此, Person 類擁有 toString() 方法.
// 請問2 : Object 父類實現的 toString() 方法, 不是 Person 類想要的結果. Person 類可以選擇重寫該方法.
// 請問3 : 子類重寫父類的方法, 程式執行時, 呼叫的是子類重寫的方法.
System.out.println("p1 = " + p1.toString()); // variable 變數
System.out.println("p2 = " + p2);
// 需求 : 比較兩個物件是否相等.
// 方式一 : == 符號
boolean result1 = p1 == p2; // 比較的是兩個物件的記憶體地址, 而不是比較兩個物件的屬性資訊
System.out.println("result1 = " + result1); // false
System.out.println("------------------");
// 請問1 : Object 類的 equals 不是 Person 類想要的, 怎麼辦 ??? Person 類重寫該方法.
boolean result2 = p1.equals(p2);
System.out.println("result2 = " + result2); // true
}
}
輸出結果 :
p1 = Person {name = 張三, age = 18}
p2 = Person {name = 張三, age = 18}
result1 = false
------------------
result2 = true
第二章 日期時間類
2.1 Date類
概述
java.util.Date
類 表示特定的瞬間,精確到毫秒。
繼續查閱Date類的描述,發現Date擁有多個建構函式,只是部分已經過時,但是其中有未過時的建構函式可以把毫秒值轉成日期物件。
public Date()
:分配Date物件並初始化此物件,以表示分配它的時間(精確到毫秒)。public Date(long date)
:分配Date物件並初始化此物件,以表示自從標準基準時間(稱為“曆元(epoch)”,即1970年1月1日00:00:00 GMT)以來的指定毫秒數。
tips: 由於我們處於東八區,所以我們的基準時間為1970年1月1日8時0分0秒。
簡單來說:使用無參構造,可以自動設定當前系統時間的毫秒時刻;指定long型別的構造引數,可以自定義毫秒時刻。例如:
import java.util.Date;
public class Demo01Date {
public static void main(String[] args) {
// 建立日期物件,把當前的時間
System.out.println(new Date()); // Tue Jan 16 14:37:35 CST 2018
// 建立日期物件,把當前的毫秒值轉成日期物件
System.out.println(new Date(0L)); // Thu Jan 01 08:00:00 CST 1970
}
}
tips:在使用println方法時,會自動呼叫Date類中的toString方法。Date類對Object類中的toString方法進行了覆蓋重寫,所以結果為指定格式的字串。
常用方法
Date類中的多數方法已經過時,常用的方法有:
public long getTime()
把日期物件轉換成對應的時間毫秒值。
2.2 DateFormat類
java.text.DateFormat
是日期/時間格式化子類的抽象類,我們通過這個類可以幫我們完成日期和文字之間的轉換,也就是可以在Date物件與String物件之間進行來回轉換。
- 格式化:按照指定的格式,從Date物件轉換為String物件。
- 解析:按照指定的格式,從String物件轉換為Date物件。
構造方法
由於DateFormat為抽象類,不能直接使用,所以需要常用的子類java.text.SimpleDateFormat
。這個類需要一個模式(格式)來指定格式化或解析的標準。構造方法為:
public SimpleDateFormat(String pattern)
:用給定的模式和預設語言環境的日期格式符號構造SimpleDateFormat。
引數pattern是一個字串,代表日期時間的自定義格式。
格式規則
常用的格式規則為:
標識字母(區分大小寫) | 含義 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 時 |
m | 分 |
s | 秒 |
備註:更詳細的格式規則,可以參考SimpleDateFormat類的API文件。
建立SimpleDateFormat物件的程式碼如:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class Demo02SimpleDateFormat {
public static void main(String[] args) {
// 對應的日期格式如:2018-01-16 15:06:38
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
}
}
常用方法
DateFormat類的常用方法有:
public String format(Date date)
:將Date物件格式化為字串。public Date parse(String source)
:將字串解析為Date物件。
format方法
使用format方法的程式碼為:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
把Date物件轉換成String
*/
public class Demo03DateFormatMethod {
public static void main(String[] args) {
Date date = new Date();
// 建立日期格式化物件,在獲取格式化物件時可以指定風格
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str = df.format(date);
System.out.println(str); // 2008年1月23日
}
}
parse方法
使用parse方法的程式碼為:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
把String轉換成Date物件
*/
public class Demo04DateFormatMethod {
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
String str = "2018年12月11日";
Date date = df.parse(str);
System.out.println(date); // Tue Dec 11 00:00:00 CST 2018
}
}
2.3 練習
請使用日期時間相關的API,計算出一個人已經出生了多少天。
思路:
1.獲取當前時間對應的毫秒值
2.獲取自己出生日期對應的毫秒值
3.兩個時間相減(當前時間– 出生日期)
程式碼實現:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) throws ParseException {
// 1. 建立一個鍵盤錄入物件
Scanner sc = new Scanner(System.in);
// 2. 提示, 並接收使用者的輸入
System.out.println("親, 請輸入您的出生年月日 : 格式(yyyy-MM-dd)");
String birthday = sc.nextLine();
// 3. 關閉鍵盤錄入物件
sc.close();
// 4. 將接收的日期字串轉換為一個日期物件
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date birthdayDate = df.parse(birthday);
// 5. 獲取當前日期
Date date = new Date();
// 6. 計算兩個日期的相差毫秒數
long time = date.getTime() - birthdayDate.getTime();
// 7. 判斷
if (time < 0) {
System.out.println("親, 您還沒有出生呢.");
} else {
long day = time / 1000 / 60 / 60 / 24;
System.out.println("從出生到此時, 共生活了 " + day + " 天.");
}
}
}
輸出結果 :
親, 請輸入您的出生年月日 : 格式(yyyy-MM-dd)
2008-8-8
從出生到此時, 共生活了 3609 天.
2.4 Calendar類
概念
日曆我們都見過
java.util.Calendar
是日曆類,在Date後出現,替換掉了許多Date的方法。該類將所有可能用到的時間資訊封裝為靜態成員變數,方便獲取。日曆類就是方便獲取各個時間屬性的。
獲取方式
Calendar為抽象類,由於語言敏感性,Calendar類在建立物件時並非直接建立,而是通過靜態方法建立,返回子類物件,如下:
Calendar靜態方法
public static Calendar getInstance()
:使用預設時區和語言環境獲得一個日曆
例如:
import java.util.Calendar;
public class Demo06CalendarInit {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
}
}
常用方法
根據Calendar類的API文件,常用方法有:
public int get(int field)
:返回給定日曆欄位的值。public void set(int field, int value)
:將給定的日曆欄位設定為給定值。public abstract void add(int field, int amount)
:根據日曆的規則,為給定的日曆欄位新增或減去指定的時間量。public Date getTime()
:返回一個表示此Calendar時間值(從曆元到現在的毫秒偏移量)的Date物件。
Calendar類中提供很多成員常量,代表給定的日曆欄位:
欄位值 | 含義 |
---|---|
YEAR | 年 |
MONTH | 月(從0開始,可以+1使用) |
DAY_OF_MONTH | 月中的天(幾號) |
HOUR | 時(12小時制) |
HOUR_OF_DAY | 時(24小時制) |
MINUTE | 分 |
SECOND | 秒 |
DAY_OF_WEEK | 週中的天(周幾,週日為1,可以-1使用) |
get/set方法
get方法用來獲取指定欄位的值,set方法用來設定指定欄位的值,程式碼使用演示:
import java.util.Calendar;
public class Test5 {
public static void main(String[] args) {
// 建立一個 Calendar 物件
Calendar calendar = Calendar.getInstance();
// get 獲取方法 :
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日.");
// set 設定方法 :
calendar.set(Calendar.YEAR, 2020);
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH) + 1;
day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日.");
}
}
輸出結果 :
2018年6月26日.
2020年6月26日.
add方法
add方法可以對指定日曆欄位的值進行加減操作,如果第二個引數為正數則加上偏移量,如果為負數則減去偏移量。程式碼如:
public class Test6 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日.");
// add 方法演示 :
// 1. 加兩天
calendar.add(Calendar.DAY_OF_MONTH, 2);
// 2. 減三年
calendar.add(Calendar.YEAR, -3);
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH) + 1;
day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日.");
}
}
輸出結果 :
2018年6月26日.
2015年6月28日.
getTime方法
Calendar中的getTime方法並不是獲取毫秒時刻,而是拿到對應的Date物件。
import java.util.Calendar;
import java.util.Date;
public class Test7 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
// getTime() 方法, 返回一個 Date 物件
Date date = calendar.getTime();
System.out.println("date = " + date);
}
}
輸出結果 :
date = Tue Jun 26 01:00:58 CST 2018
小貼士:
西方星期的開始為週日,中國為週一。 在Calendar類中,月份的表示是以0-11代表1-12月。 日期是有大小關係的,時間靠後,時間越大。
第三章 System類
java.lang.System
類中提供了大量的靜態方法,可以獲取與系統相關的資訊或系統級操作,在System類的API文件中,常用的方法有:
public static long currentTimeMillis()
:返回以毫秒為單位的當前時間。public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
:將陣列中指定的資料拷貝到另一個數組中。
3.1 currentTimeMillis方法
實際上,currentTimeMillis方法就是 獲取當前系統時間與1970年01月01日00:00點之間的毫秒差值
import java.util.Date;
public class SystemDemo {
public static void main(String[] args) {
//獲取當前時間毫秒值
System.out.println(System.currentTimeMillis()); // 1516090531144
}
}
練習 :
驗證for迴圈1-1000000000所需要使用的時間(毫秒)
public class Test8 {
public static void main(String[] args) {
// 1. 記錄開始時間毫秒
long start = System.currentTimeMillis();
// 2. 執行迴圈操作
long sum = 0;
for (int i = 0; i < 1000000000; i++) {
sum += i;
}
// 3. 記錄結束時間毫秒
long end = System.currentTimeMillis();
// 4. 檢視結果
System.out.println("共耗時 : " + (end - start) + " 毫秒.");
}
}
輸出結果 :
共耗時 : 281 毫秒.
3.2 arraycopy方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
:將陣列中指定的資料拷貝到另一個數組中。
陣列的拷貝動作是系統級的,效能很高。System.arraycopy方法具有5個引數,含義分別為:
引數序號 | 引數名稱 | 引數型別 | 引數含義 |
---|---|---|---|
1 | src | Object | 源陣列 |
2 | srcPos | int | 源陣列索引起始位置 |
3 | dest | Object | 目標陣列 |
4 | destPos | int | 目標陣列索引起始位置 |
5 | length | int | 複製元素個數 |
練習
將src陣列中前3個元素,複製到dest陣列的前3個位置上覆制元素前:src陣列元素[1,2,3,4,5],dest陣列元素[6,7,8,9,10]複製元素後:src陣列元素[1,2,3,4,5],dest陣列元素[1,2,3,9,10]
import java.util.Arrays;
public class ArrayCopyTest3
相關推薦
Java基礎----Object類和常用API
第一章 Object類
1.1 概述
java.lang.Object類是Java語言中的根類,即所有類的父類。它中描述的所有方法子類都可以使用。在物件例項化的時候,最終找的父類就是Object。
如果一個類沒有特別指定父類, 那麼預設則繼承自Object類。
Object類 和常用API
tab clone 大小寫 system.in 區分大小寫 als nano else ystemd 復習一下基本類的主要內容
Object類Date類DateFormat類Calendar類System類StringBuilder類包裝類
1.1Object類
Java.
JAVA基礎——Object類和Class類
什麼是Object類
Object類是所有類根類,其中也有很多方法。
Object類中的方法:
equals方法:
物件1.equals(物件2) ————比較的是兩個物件的記憶體地址是否相同,返回boolean
發現其實equals方法有時候並不是我們想要的,我們想要的
Java基礎——Object類的三個常用方法
內容整理自《Java 核心技術 卷一》
Object類的簡介
java.lang.Object
java.lang包在使用的時候無需顯示匯入,編譯的時候由編譯器自動匯入
Object類是
java基礎篇---------類和物件(OOP)
JAVA 的是完全面向物件程式設計的!!! 面向物件程式設計的三大特性:封裝、繼承、多型 1.類 類是構造物件的模板或者藍圖,由類構造物件的過程就是建立類的例項; 類裡面存放類的成員變數,成員方法,
class student {
private int age; //
Java基礎【04】常用API——String相關API
1.int length()
package string;
/**
* int length()
* 該方法可以返回當前字串的長度(字元個數)
* @author adminitartor
*
*/
public class LengthDemo {
publ
Java基礎【05】常用API——Integer相關API
1.Integer Integer.valueOf(int i);
package integer;
/**
* java有8個基本型別,但是它們不具備面向物件的特性,所以
* 不能直接參與面向物件開發,那麼在實際使用上會出現很多的
* 不便,為此java為8個基本型
Java基礎【08】常用API——RandomAccessFile相關API
java.io.RandomAccessFile:專門用來讀寫檔案資料的類,其讀寫是基於指標進行的,即RAF總是在指標指向位置讀取或者寫出位元組。
RAF有兩種常用的模式:
* r:只讀模式,只能讀取檔案資料,不可以做寫操作。
* rw:讀寫模式,即可讀也可寫。
1.寫
Java 011 Object類的常用方法(hashCode、toString、getClass、equals)
知識點梳理
心得體會
小知識點
1.若呼叫toString()輸出的不是地址值,則toString()一定被重寫了
2.instanceof是一個二元操作符(運算子),用來判斷,instanceof 左邊物件是否為instanceof 右邊類的例項,返回一個b
Java基礎-----抽象類和介面的區別
成員區別
(1)抽象類:
1、成員變數:可以是變數,也可以是常量。 2、構造方法:有。 3、成員方法:可以抽象,也可以非抽象。
(2)介面:
1、成員變數:只可以是常量。 2、成員方法:只可以抽象,也可以非抽象。
設計理念區別
(1)抽
java基礎-列舉類和註解
一、列舉類1.如何自定義列舉類。 列舉類:類的物件是有限個的,確定的。 1.1 私有化類的構造器,保證不能在類的外部建立其物件 1.2 在類的內部建立列舉類的例項。宣告為:public static final 1.3 若類有屬性,那麼屬性宣告為:private final 。此屬性在構造器中
C++ socket程式設計基礎一(概念和常用API)
SOCKET一種程序通訊的方式,簡言之就是呼叫這個網路庫的一些API函式就能實現分佈在不同主機的相關程序之間的資料交換.
·SOCKET幾個定義概念
一、是IP地址:
IP Address我想很容易理解,就是依照TCP/IP協議分配給本地主機的網路地址,就向兩個程序要通
多態、Object類和 JDK常用封裝類型
事物 引用 null static 包裝 變化 end number demo 多態
定義:某一類事物的多種存在形態。
多態的體現:父類的引用指向了自己的子類對象。父類的引用也可以接收自己的子類對象。
多態的前提:必須是類與類之間有關系,要麽繼承,要麽實現。通常還有一個前提
java基礎-Integer類常用方法介紹
-i java基礎 font ger 版權 spa 責任 創作 bsp java基礎-Integer類常用方法介紹
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究
Java基礎-----String類常用方法
String類的判斷功能
1、boolean equals(Object obj):比較字串的內容是否相同,區分大小寫。 2、boolean equalsIgnoreCase(String str):比較字串的內容是否相同,忽略大小寫。 3、boolean contains(
Java基礎知識回顧之常用資料型別的包裝類
Java基礎知識回顧之常用資料型別 Java基礎知識回顧之常用資料型別的包裝類
簡介
Java 雖然是一門面向物件的程式語言,但是其包括的8種基本資料型別並不支援面向物件的程式設計機制。也就說基本資料型別不具備“物件”的特性。例如:沒有屬性、沒有方法可以呼叫。
為了解決8個基
Java面試系列總結 :JavaSE基礎(2) 常用 API
1. Math.round(11.5)等於多少?Math.round(- 11.5) 又等於多少?
Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。
四捨五入的原理是在引數上加 0.5然後進行取整。
2.
java的Object類理解和介面的定義
一、Object類簡單理解
我們剛開始接觸到java時,最常做的是如何使用class關鍵字定義一個類,在這其中就應用到了繼承的原理,因為所有的類都直接或者間接繼承了java.lang.Object類。Object類是一個很特殊的類,它是所有類的父類,是java類層中的最高層類。當建立一個類時,總
Java基礎——基本型別和包裝類、基本型別和字串之間的轉換
基本型別和包裝類之間的轉換
基本型別和包裝類之間經常需要互相轉換,以 Integer 為例(其他幾個包裝類的操作雷同哦):
在 JDK1.5 引入自動裝箱和拆箱的機制後,包裝類和基本型別之間的轉換就更加輕鬆便利了。
那什麼是裝箱和拆箱呢?我們分別來看下
裝箱:把基本型別轉換成包裝類,使其具有物件的
Java中Object類的方法(toString方法和equals方法)
Object是所有類的父類(國外成為超類superclass),Object類的方法是相當少的(理解為教室人越多,他們的共同點越少)。
一:toString方法
Object的toString()方法幫助我們返回一個字串,這個字串的格式是固定的:類名@hashcode。