1. 程式人生 > >Java反射之getInterfaces()方法

Java反射之getInterfaces()方法

今天學習Spring3框架,在理解模擬實現Spring Ioc容器的時候遇到了getInterfaces()方法。getInterfaces()方法和Java的反射機制有關。它能夠獲得這個物件所實現的介面。

例如:

Class<?> string01 = person.getClass().getInterfaces()[0];

//獲得person物件所實現的第一個介面

詳細的例子如下:

Person類:

package com.deciphering.spring;

public class Person implements eagle,whale{
	private String name = "小明";
	private int id = 10001;	
	public void Speak(String name){
		System.out.println("我的名字"+name+" "+ "編號"+ id);
	}	
	@Override
	public void fly() {
		System.out.println("I can Fly!!!");		
	}
	
	@Override
	public void swim() {		
		System.out.println("I can swimming!!!");
	}
	public static void main(String args[]){
		Person person = new Person();
		person.Speak("小明");
		person.fly();
		person.swim();
		System.out.println("---------------");
		Class<?> string01 = person.getClass().getInterfaces()[0];
		Class<Person> string02 = (Class<Person>) person.getClass().getInterfaces()[1];
		System.out.println(string01);
		System.out.println(string02);		
	}
}

eagle介面:
package com.deciphering.spring;

public interface eagle {
	public void fly();
}

whale介面:
package com.deciphering.spring;

public interface whale {
	public void swim();
}

執行結果: