Java反射之getInterfaces()方法

今天学习Spring3框架,在理解模拟实现Spring Ioc容器的时候遇到了getInterfaces()方法。getInterfaces()方法和Java的反射机制有关。它能够获得这个对象所实现的接口。

例如:

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

//获得person对象所实现的第一个接口

详细的例子如下:

Person类:

  1. package com.deciphering.spring;  
  2.   
  3. public class Person implements eagle,whale{  
  4.     private String name = "小明";  
  5.     private int id = 10001;   
  6.     public void Speak(String name){  
  7.         System.out.println("我的名字"+name+" ""编号"+ id);  
  8.     }     
  9.     @Override  
  10.     public void fly() {  
  11.         System.out.println("I can Fly!!!");       
  12.     }  
  13.       
  14.     @Override  
  15.     public void swim() {          
  16.         System.out.println("I can swimming!!!");  
  17.     }  
  18.     public static void main(String args[]){  
  19.         Person person = new Person();  
  20.         person.Speak("小明");  
  21.         person.fly();  
  22.         person.swim();  
  23.         System.out.println("---------------");  
  24.         Class<?> string01 = person.getClass().getInterfaces()[0];  
  25.         Class<Person> string02 = (Class<Person>) person.getClass().getInterfaces()[1];  
  26.         System.out.println(string01);  
  27.         System.out.println(string02);         
  28.     }  
  29. }  

eagle接口:

  1. package com.deciphering.spring;  
  2.   
  3. public interface eagle {  
  4.     public void fly();  
  5. }  

whale接口:

  1. package com.deciphering.spring;  
  2.   
  3. public interface whale {  
  4.     public void swim();  
  5. }  

运行结果:





posted @ 2017-12-27 16:46  星朝  阅读(8076)  评论(0编辑  收藏  举报