java配置開發工具-核心邏輯第6章_第1頁
java配置開發工具-核心邏輯第6章_第2頁
java配置開發工具-核心邏輯第6章_第3頁
java配置開發工具-核心邏輯第6章_第4頁
java配置開發工具-核心邏輯第6章_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

工程師培訓系列CORE

JAVACORE

JAVA第16章:反射類對象獲取類對象的方式反射包(java.lang.reflect)反射的作用思考給定一個對象,要求輸出這個對象所有的方法public

static

void

printMethod(Object

object)給定一個字符串參數,這個參數表示一個類的名字。根據類名,創建該類的一個對象并返回public

static

Object

createObject(String

className)類對象java.lang.Class類的對象類繼承自那個類實現了那些接口有那些屬性有那些方法有那些構造方法….獲取類對象的方式類名.class獲取類對象的方式getClass()方法獲取類對象的方式Class.forName()方法public

static

Class

forName(String

className)

throwsClassNotFoundException類對象的作用getName():獲得類的名稱,包括包名getSimpleName():獲得類的名稱,不包括包名getSuperClass():獲得本類的父類的類對象getInterfaces():獲得本類所實現的所有接口的類對象類對象的作用類對象的作用public

Method[]

getDeclaredMethods()

throwsSecurityExceptionpublic

Method[]

getMethods()

throwsSecurityException類對象的作用類對象的作用獲得所有的公開方法類對象的作用獲得所有的本類中定義的方法類對象的作用Field[]

getDeclaredFields()Field[]

getFields()類對象的作用獲得所有的公開屬性類對象的作用獲得本類中定義的屬性使用類對象創建類的對象Object

newInstance()反射包java.lang.reflect.Field類通過Class對象的如下方法可以獲得Field對象FieldFieldgetDeclaredField(String

name)getField(String

name)Field[]

getDeclaredFields()Field[]

getFields()Field類的常見方法getName()Field類的常見方法public

void

set(Object

obj,

Object

value)public

Object

get(Object

obj)Student stu=new

Student();="tom";//修改屬性值Field類的常見方法Student stu=new

Student();

String

data=;//獲取屬性值Field類的常見方法public

void

setAccessible(boolean

flag)Student

stu

=

new

Student();//stu.age=18;不能直接修改age屬性,這句代碼將無法編譯通過反射包java.lang.reflect.Method類通過Class對象的如下方法可以獲得Method對象public

Method[]getDeclaredMethods()public

Method[]

getMethods()public

Method

getMethod(String

name,Class[]parameterTypes)public

Method

getDeclaredMethod(String

name,Class[]

parameterTypes)Method類的常見方法Student類public

double

study(int

a,

doubleb)Method

m

=c.getDeclaredMethod(“study”,new

Class[]{int.class,

double.class})Method類的常見方法通過反射調用方法Method.invoke(Object,Object[]);反射包java.lang.reflect.Constructor

類通過Class對象的如下方法可以獲得Constructor對象getConstructors()getDeclaredConstructors()getConstructor(Class[]

parameters)getDeclaredConstructor(Class[]

parameters)反射包反射的作用應用反射的代碼,增加程序的通用性Student

s

=

new

Student();s.study();String

className

=

"Student";Class

c

=

Class.forName(className);Object

o

=

c.newInstance();String

methodName

=

"study";Method

m

=

c.getMetho

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論