A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

宋小奇

中级黑马

  • 黑马币:13

  • 帖子:57

  • 精华:0

反射中,这三种获取对象的方法第二种怎么理解?
1、Object类的getClass方法
2、数据类型的静态的class属性
  3、通过Class类的静态方法forName(String className)

QQ图片20150616164229.png (15.93 KB, 下载次数: 26)

QQ图片20150616164229.png

7 个回复

倒序浏览
还有这个图里的匿名内部类   怎么理解?
回复 使用道具 举报
一、数据类型的静态的class属性这句话的意思:
数据类型包括基本数据类型(byte、short、int、long、char、boolean、double、float八种)和引用数据类型(就是自定义的类,比如Person),反射就是要获取类的字节码文件,数据类型就有.class这样一个属性,在我看来应该是一个方法,通过数据类型名称.class,就可以不创建对象直接加载所要反射的类(看后半句和静态的定义是差不多的),并返回类的字节码。还有一个特殊的,是void,不属于基本数据类型和引用数据类型,但是也可以通过void.class获取到类的字节码。
二、

你先要查看API,file类中的listFiles可以传递如上图的三种参数,要问的是第三种,这个函数要传递一个FilenameFilter的对象,

接着查询API,可以看到FilenameFilter是一个接口,功能是筛选文件名的过滤器,由于无法直接创建对象,也没有实现这个接口的类来创建对象,并且只有一个accept方法,这时就需要一个匿名内部类实现FilenameFilte接口,并复写其中的accept方法。基本上这段程序就是这个意思
回复 使用道具 举报 1 0
反射毕向东的视频没有?:'(
回复 使用道具 举报
守门员 发表于 2015-6-16 18:24
一、数据类型的静态的class属性这句话的意思:
数据类型包括基本数据类型(byte、short、int、long、char、 ...

有收获!
回复 使用道具 举报
感觉受教了
回复 使用道具 举报
反射老师讲的很模糊,,一笔带过了,..
回复 使用道具 举报
就是堆里有一个代表类的Class对象,这个类有一个静态字段,它类似于一个指针指向这个Class对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马