# 第四章第一节--反射获得继承的关系
标签(空格分隔): 廖雪峰
---
获取一个Class父类的方法可通过:
- Class getSuperclass()
- Object的父类是null
- interface的父类是null.
![父类调用方式](http://p0b921qfc.bkt.clouddn.com/18-5-18/85342460.jpg)
获取一个Class实现接口可通过:
- Class[] getInterfaces() 返回时一个Class数组,只包含直接实现的,不包括继承的.
- 没有interface的class返回空数组.
- interface对象返回的则是继承的interface.
![结构的获取情况](http://p0b921qfc.bkt.clouddn.com/18-5-18/81550559.jpg)
判断一个向上转型是否成立.
- bool isAssignableFrom(Class) (括号里值得是需要转换的类型)
![向上转型的案例](http://p0b921qfc.bkt.clouddn.com/18-5-18/83200930.jpg)
## 小节小结
- 通过Class对象可以获取继承关系.getSuperClass()获取父类信息,getInterfaces()获取实现接口信息.
- 通过Class对象的isAssignableFrom()对象可判断一个向上转型是否正确.
- 前言
- 一:Java快速入门
- 二:Java面向对象编程
- 三:Java异常处理
- 错误处理
- Java的异常
- 捕获异常
- 抛出异常
- 自定义异常
- 断言和日志
- 使用断言
- 使用JDK Logging
- 使用Commons Logging
- 使用Log4j
- 四:Java反射与泛型
- 反射
- Class类
- 访问字段
- 调用方法
- 调用构造方法
- 获取继承关系
- 注解
- 使用注解
- 定义注解
- 处理注解
- 泛型
- 什么是泛型
- 使用泛型
- 编写泛型
- 擦拭法
- extends通配符
- super通配符
- 泛型和反射
- 五:Java集合
- Java集合简介
- Java集合简介
- List
- 使用List
- 编写equals方法
- Map
- Set
- Queue
- Stack
- 最佳实践
- 六:Java IO编程
- 七:Java处理日期和时间
- 八:JUnit单元测试
- 九:Java正则表达式
- 十:Java加密与安全
- 十一:Java多线程编程
- 十二:Maven基础
- 十三:Java网络编程
- 十四:Java操作XML和JSON
- 十五:Java JDBC编程
- 十六:Java函数式编程