反射與內省(一)Java

2021-08-07 22:16:57 字數 1430 閱讀 3324

class類

很多的人---可以定義乙個person類(有年齡、性別)

很多的車----可以定義乙個car類(有發動機,顏色,車輪)

很多的類------可一定以為乙個class類(類名,構造方法,屬性,方法)

得到class類的物件有三種方法

object類中的getclass()方法

類.class

通過class類的forname()方法

建立類的方法:右擊專案名稱開啟properties然後build path--->add librart---->junit---->第乙個應用

import org.junit.test;

class dog

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public string getcolor()

public void setcolor(string color)

public dog(string name,int age,string color)

public dog()

private void set() }

public class reflectiondemo catch(classnotfoundexception e)

} @test

public void test3() throws illegalacces***ception, illegalargumentexceptioncatch(nosuchmethodexception e){}

catch(instantiationexception e){}

catch(invocationtargetexception e){}

} @test

public void test4()catch(instantiationerror e)catch(illegalaccesserror e)

} @test

public void test5() throws illegalacces***ception, illegalargumentexception, invocationtargetexception{

dog dog=new dog("旺旺",4,"白色");

classdogclass=dog.class;

package apackage=dogclass.getpackage();

method methods=dogclass.getmethods();//獲取公共的方法包括繼承的共有方法

for(int i=0;ijunt test然後就能看到該方法的執行結果了,如果沒出現結果可能是沒寫@test

java反射 內省

本文所說的類是類對應的class的例項,其實類本身就是class的例項。1 類是class的例項,通常的物件是類的例項。2 根據類名 類的例項 類的屬性都能獲取到類。3 如果類有無參的建構函式,根據類能反射出該類的乙個例項,如果有有參的建構函式則根據類獲取引數型別獲取建構函式,再根據建構函式反射出類...

JAVA高階用法 反射(一)

引言 這裡結合工廠模式和介面來記錄對於反射的理解。和文字部分源於網路。對其進行了重新整理。反射機制對於普通開發者而言,意義不大,一般都是作為一些系統的架構設計去使用的,包括以後學習的開源框架,幾乎都使用了反射機制。反射概念package reflection public class demo 獲取...

Java反射機制學習(一)

首先先說以下反射使用的基本步驟 套路 基本步驟 1.獲取目標型別相應的class物件 2.呼叫class物件內省方法獲取目標類成員資訊 3.訪問目標類成員資訊 操作目標類中的成員 通過反射獲取該類的field,method,constructor,inte ce,package and superc...