日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java的class和object_Java中Class/Object/T的关系

發布時間:2023/12/10 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的class和object_Java中Class/Object/T的关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Object 對象

Object是Java中的基類,大部分的對象都是繼承于這個類。

public class Object {

....

public native int hashCode();

public boolean equals(Object obj) {

...

}

public String toString() {

...

}

}

以上是其定義,可以看出來其定義了一些基礎方法,比如hashCode等等。

Class類的類

「Class類」是其本身也是一個類,且不可以繼承,它指向的是「實例的定義」是「類的類」

注意本文中「Class類」和「Class」意思不同,前者指的是『public final class Class』,后者值得是『類這個概念』

public final class Class implements java.io.Serializable,

java.lang.reflect.GenericDeclaration,

java.lang.reflect.Type,

java.lang.reflect.AnnotatedElement {

......

}

可以看得出其本身實現了一些接口,主要是反射中的。

T 模板

T是代表模板,可以「代表任何Object」,其主要是放在各種單書名號中,一般是類名或者問號。

問號代表不確定

名字代表確定

T則代表任意一個「繼承于Object的類」

T控制返回值

當要使用T時需要通過「中括號T」來聲明,其相當于finally或者static之類的限定符號

public finally static T method(Class clazz) {

return T;

}

除去方法的限定詞

T method(Class clazz);該方法是一個返回值為T,入參為任意「Class類」的方法

返回值根據傳入的對象確定

返回的是「Class類」的一個實例化Object。

控制容器內容public static List select(T object);

根據輸入參數T可以保證返回的List對象中全部都為T的實例。

T用于強行轉換

由于T本身作為一個模板,所以也可以用于強行類型轉換

List list = (List) object;

resultList.add((T) BeanMapperUtil.objConvert(tempDO,objectBO.getClass()));

Class/Class類/Object/T的邏輯關系

如上總結

「Class類」是一個「Class」和Object同一級別,且不可以被繼承

Object代表對象,是實例,實例就是某個「Class」的new實例化

T則是代表任意一個繼承于Object的「Class」

看上去還是很晦澀,所以就拿String進行舉例

class SomeObject extends Object {

T method(Class clazz);

}

SomeObject some = new SomeObject();

Class clazz = some.getClass();

SomeObject someT = some.method(clazz);它的「Class」是「someObject」,它的實例some是一個「Object」

「class SomeObject extends Object」可以被一個「Class類」的實例clazz指向

當method被調用,輸入了clazz,返回值就是「someObject」,那么T就是「someObject」這段字符

媽蛋 還是很晦澀。。。。。我也不知道該怎么講了。。。總之,你感覺感覺。。。

關于「Class」這個概念,就是類這個概念如何產生的,可以看另外一個文章面向對象語言的吹逼

總結

以上是生活随笔為你收集整理的java的class和object_Java中Class/Object/T的关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。