Java反射之getInterfaces()方法
阿新 • • 發佈:2019-01-26
今天學習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();
}
執行結果: