Javase 高级技术 —— 01 反射

本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员Java+AI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。

01 单元测试

单元测试就是针对最小的功能单元——方法,编写测试代码对其进行正确性测试。

咱们之前是如何进行单元测试的?有啥问题?

  • main方法编写代码,调用其他方法测试
  • 无法实现自动化测试
  • 无法得到测试的报告

Junit单元测试框架可以用来对方法进行测试,其是第三方公司开源出来的。

优点

  • 自动化测试,且各自独立
  • 自动生成测试报告

在这里插入图片描述

在这里插入图片描述

02 反射

反射就是加载类,并允许以编程的方式解剖类中的各种成分,包括成员变量、成员方法、构造器。

在这里插入图片描述

操作步骤

① 加载类,获取类的字节码(class类对象)
在这里插入图片描述

  • Class c1 = 类名.class
  • 调用Class提供方法:public static Class forName(String package);
  • 调用Object提供方法:public Class getclass(); Class c3 = 对象.getClass(0);
package ReflectDemo;

public class ReflectDemo {
   
   
    public static void main(String[] args) throws Exception {
   
   
        //目标:认识反射,获取类的Class对象的三种方式
        //1.类.class [类本身]
        Class c1 = Student.class;
        System.out.println(c1);

        //2.Class.forName [类的全类名]
        Class c2 = Class.forName("ReflectDemo.Student");
        System.out.println(c1);

        //3.对象.getClass() [类本身]
        Student s = new Student();
        Class c3 = s.getClass();
        System.out.println(c3);

    }
}

② 获取类的构造器(Constructor对象)

③ 获取类的成员变量(Field对象)

④ 获取类的成员方法(Method对象)

ReflectDemo.java

package ReflectDemo;

import org.junit.Test;

import javax.swing.plaf.metal.MetalTheme;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.MalformedParametersException;
import java.lang.reflect.Method;

public class ReflectDemo2 {
   
   
    @Test
    public void getClassInfo() {
   
   
        //目标:获取类的信息(成员变量、成员方法、构造器)
        //1.获取Class类对象
        Class c1 = Dog.class;
        System.out.println(c1.getName());
        System.out
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值