1.Class对象的getClasses()方法获取的是该类中所有的公共的内部类,以及从父类,父接口继承来的内部类。getinterfaces()方法返回类继承的所有接口。

import javax.print.attribute.standard.PrinterInfo;

interface  HasBatteries{}
interface Waterproof{}
interface ShootsThings{} class Toy{
Toy(){}
Toy(int i){}
} class FancyToy extends Toy implements HasBatteries,Waterproof,ShootsThings{
public FancyToy() {
// TODO 自动生成的构造函数存根
super(1);
}
} public class ToyTest {
public static void main(String[] args){
Class class1=null;
try{
class1=class1.forName("FancyToy");
}catch (ClassNotFoundException e) {
// TODO: handle exception
}
printInfo(class1);
Class[] faces=class1.getInterfaces();
for(int i=0;i<faces.length;i++){
printInfo(faces[i]);
}
Class cy=class1.getSuperclass();
Object cObject=null;
try{
cObject=cy.newInstance();
}catch (Exception e) {
// TODO: handle exception
}
printInfo(cObject.getClass()); } static void printInfo(Class cc){
System.out.println("Class name:"+cc.getName()+" is interface? "+cc.isInterface());
} }

2.Class对象的forName()使用时传递的类名classname参数是需要全名的,不能只加类名,比如包名.类名,java.lang.String。

package eleven;

import java.lang.reflect.*;

class Pig {
public Pig() {
// TODO 自动生成的构造函数存根
} public void T() { } public void A() {
} public void ma() {
}
}
public class ShowMethods {
public static void main(String[] args) {
try {
//Class class1 = Class.forName("eleven.Pig");
Class class1 = Class.forName("java.lang.String");
Method[] methods = class1.getMethods();
Constructor[] constructors = class1.getConstructors();
for (int i = 0; i < methods.length; i++) {
System.out.println(methods[i].toString());
}
for (int i = 0; i < constructors.length; i++) {
System.out.println(constructors[i].toString());
}
} catch (ClassNotFoundException e) {
// TODO: handle exception
System.out.println("No such class:" + e);
}
} }

最新文章

  1. SQL数据库之DQL
  2. MVC MemeberShip vs. Asp.net Identity
  3. C/C++中的声明与定义
  4. 如何制作u盘启动盘
  5. Using HiveServer2 - Authentication
  6. FTP 服务器
  7. wcf 上传文件报413,404和发布错误
  8. Python学习笔记006_异常_else_with
  9. Flexbox 练习和总结
  10. web中的请求:get  与 post
  11. 架构师成长之路3.1-Cobber原理及部署
  12. 反射attr以及模块动态导入
  13. xe5 android sample 中的 SimpleList 是怎样绑定的 [转]
  14. IE6,IE7浏览器下 margin 无效的解决方法
  15. JDK 泛型
  16. linux文件属性介绍
  17. KnockoutJs学习笔记(四)
  18. Android中的树状(tree)列表
  19. 前端开发之jQuery效果篇
  20. Mybatis批量删除之Error code 1064, SQL state 42000;

热门文章

  1. 关于H5 移动端css 文本超出时省略号 失效的问题
  2. Unity 游戏框架搭建 (二十一) 使用对象池时的一些细节
  3. JSP Cookie 处理
  4. AppleDoc
  5. ES5 实现 ES6 的 class以及extends
  6. 小K的农场(差分约束,spfa)
  7. chromium之lazy_instance
  8. 使用WIn10自带的Linux子系统
  9. 同步请求和异步请求的区别(理解ajax用)
  10. Linux-3.5-Exynos4412驱动分层分离