Java如何获取由类实现的接口?

该getClass().getInterfaces()方法返回一个数组,Class该数组表示由对象实现的接口。

package org.nhooo.example.lang;

import java.util.Date;
import java.util.Calendar;

public class ClassInterfaces {
    public static void main(String[] args) {
        // 获取Date类的实例
        Date date = Calendar.getInstance().getTime();

        // 获取由java.util.Date类实现的所有接口,并
        // 打印他们的名字。
        Class[] interfaces = date.getClass().getInterfaces();
        for (Class iface : interfaces) {
            System.out.println("Interface Name = " + iface.getName());
        }

        // 对于原始类型,接口将为空数组。
        Class c = char.class;
        interfaces = c.getInterfaces();
        for (Class iface : interfaces) {
            System.out.println("Interface Name = " + iface.getName());
        }
    }
}

本java.util.Date类实现了以下接口:

Interface Name = java.io.Serializable
Interface Name = java.lang.Cloneable
Interface Name = java.lang.Comparable