您的位置:首页 > 编程语言 > Java开发

零基础学习java日记第十九天 反射 注解 JUnit单元测试 网络爬虫

2019-03-24 16:31 295 查看

         今天主要学习了反射,注解,JUnit单元测试,网络爬虫。

         反射是指通过使用某个包反向创建对象,它实现了动态编程。它一般使用类对象来实现反射操作。

         获得类对象的三种方式:A.class;Class.ForName("包名类名");a1.getClass()。

         获得包名类名的方法有:c.getPackage().getName()获得包名类名;c.getName()获得类名;c.getSimpleName()获得简单名字。

         获得成员变量的定义信息:getFields()得到可见的成员变量,包括继承的。 getDeclaredFields()得到本类所有的变量,包括私有的,但是不包括继承的。 getField(变量名)得到特定的可见变量。getDeclaredField(变量名)得到特定的变量包括私有但不包括继承的。

          获得构造方法的定义信息:getConstructors()获得可见的构造方法;getDeclaredConstructors()获得所有构造方法,包括私有的。getConstructor(参数类型列表)获得特定的构造方法;getDeclaredConstructor(int.class,String.class)获得所有包括私有的构造方法但不包括继承的。

4000

          通过"类对象"的反射操作可以新建对象:

[code]当执行无参构造时
Object obj = c.newInstance();

当执行有参构造时
//获得构造方法
Constructor t = c.getConstructor(int.class,String.class);
//通过构造方法反射操作,来新建对象
Object obj = t.newInstranc(6,"abc");

          反射调用成员变量:

[code]//获得成员变量
Field f = c.getDeclaredField("age");

//使私有变量,也可以被访问
f.setAccssible(true);

//赋值
f.set(对象, 21);
//通知指定对象,访问变量
//静态变量,第一个参数给 null

//取值
int i = (int) f.get(对象);
//静态变量,第一个参数给 null

            反射调用成员方法:

[code]//获得方法
Method t = c.getMethod(方法名,参数列表);

//使私有成员允许被调用
t.setAccessible(true);

//调用方法
Object obj = t.invoke(对象,参数数据);
//让指定对象调用该方法
//静态方法,第一个参数给null
//没有返回值得到null

             注解是为其他开发工具或其他Java程序提供代码的额外信息。@Override注解由编译器来处理,编译器识别该注解,来对方法进行重新检查。自定义注解则是要自己编写处理代码的注解。

             JUnit单元测试框架是第三方开源工具,eclipse集成了JUnit,可以直接在项目中导入JUnit.jar包,它可以直接对某段代码测试。

             网络爬虫可以抓取网页页面内容,常用的有Jsoup。Jsoup是第三方开源的上层API,可以直接导入到项目使用。

             自此,Java基础就讲完了,明天就要将其他东西了,加油。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: