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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区 黑马粉丝团   /  2018-8-30 20:53  /  3931 人查看  /  44 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


同学们,今天是我们基础阶段的最后一天,从后天开始,我们将进入WEB的新解决,做好总结,迎接新的挑战:
1.黑盒测试和白盒测试的区别?
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
3.获取 Class对象有几种方式?他们的用途都在哪?
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
5.注解在程序中都有哪些用途?
6.什么是元注解?
7.文件从编译到运行可以分为哪三个时期?
8.思考:想让一个类加载进内存,有几种方式?

44 个回复

倒序浏览
1.黑盒测试和白盒测试的区别?
黑盒不可视
白盒是可视可更改的更适合程序员使用
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是框架的灵魂核心,作用是在不更改类的情况下更改一定的内容
3.获取 Class对象有几种方式?他们的用途都在哪?
三种
1.使用ciass.forname(全类名)对应源代码阶段
2.类名.class,对应类对象阶段
3.对象.getclass(),对应运行阶段

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射 对象.setAccessible方法
5.注解在程序中都有哪些用途?
标准各种问题,如标签一般
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
源代码--->类对象--->运行时
8.思考:想让一个类加载进内存,有几种方式?
..................................
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?     黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。     白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
    反射是对类的组成部分封装成其他对象的一种机制
3.获取 Class对象有几种方式?他们的用途都在哪?
      有三种  calss.forname(), 类名.class. 对象.getclass()
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
    getDeclaredMethods() 获取私有的成员方法
    getDeclaredField(String name)获取私有成员变量
5.注解在程序中都有哪些用途?
     编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
     代码分析:通过代码里标识的注解对代码进行分析【使用反射】
     编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
      用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
    三个时期, 源码期,字节文件时期,运行时期
8.思考:想让一个类加载进内存,有几种方式?
   有三种方式
    1、由new关键字创建一个类的实例
    2、使用Class.forName()    通过反射加载类型,并创建对象实例
    3、使用某个ClassLoader实例的loadClass()方法


回复 使用道具 举报
.黑盒测试和白盒测试的区别?     黑盒测试的测试过程是不需要编写代码的,我们只要输入数据变可以得到数据,但是由于是手动输入,当量级变大时,效率就会很低
     白盒测试需要编写一些代码,关注程序具体的流程,效率高,但是不能做到穷举
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
     所谓反射,就是将一个类的几个组成部分(类名,成员变量,成员方法,构造方法)封装为其他的对象,
     我们在使用框架的时候,由于框架的代码不会发生改变,所以可以通过反射来调用类中的各种变量和方法
     
3.获取 Class对象有几种方式?他们的用途都在哪?
     三种  类名.class    类的实例.class     class.forname("全类名")
   可以创建类的class对象,
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
     暴力反射    setAccessible(true/false)  暴力反射
5.注解在程序中都有哪些用途?
      检测
      标记
      压制
6.什么是元注解?
     用来注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
     源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?

类加载器
main方法里面创建类的对象调用类的方法
反射
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试:通过输入数字进行测试
白盒测试:通过代码进行测试,比较高效

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类按各个部分进行解耦,实现对各个部分的单一操作

3.获取 Class对象有几种方式?他们的用途都在哪?
有三种,分别是:Class.forName( 全类名 ),类的对象名.getClass ( ),类名.class( )。
一般用在反射中,可以通过class字节码对象进行get成员方法、构造器、成员变量
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
通过getDeclareFeilds(  )方法获取成员变量的对象数组,getMethods()方法获取成员方法的对象数组

5.注解在程序中都有哪些用途?
注解是跟程序沟通的,可以去掉一些提示,也可以检测一些规范的细节

6.什么是元注解?
元注解释对注解进行注解的注解,一般有四种,Target、Retenction、Documented、Inherited

7.文件从编译到运行可以分为哪三个时期?
resource、class、runtime

8.思考:想让一个类加载进内存,有几种方式?
可以通过获取类的字节码.class对象,将类加载进内存,
通过转换流加载进内存?
通过反序列化将序列化的类对象
回复 使用道具 举报
.黑盒测试和白盒测试的区别?     黑盒测试的测试过程是不需要编写代码的,我们只要输入数据变可以得到数据,但是由于是手动输入,当量级变大时,效率就会很低
     白盒测试需要编写一些代码,关注程序具体的流程,效率高,但是不能做到穷举
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
     所谓反射,就是将一个类的几个组成部分(类名,成员变量,成员方法,构造方法)封装为其他的对象,
     我们在使用框架的时候,由于框架的代码不会发生改变,所以可以通过反射来调用类中的各种变量和方法
     
3.获取 Class对象有几种方式?他们的用途都在哪?
     三种  类名.class    类的实例.class     class.forname("全类名")
   可以创建类的class对象,
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
     暴力反射    setAccessible(true/false)  暴力反射
5.注解在程序中都有哪些用途?
      检测
      标记
      压制
6.什么是元注解?
     用来注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
     源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?

类加载器
main方法里面创建类的对象调用类的方法
反射
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试不需要代码,白盒需要
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个部分封装成其他对象。
1、可以在程序运行过程中,进行操作
2、可以jieou
3.获取 Class对象有几种方式?他们的用途都在哪?
3种,1、Class.forname,多用于配置文件,将类名定义在配置文件中。读取,加载类
2、类名.class,多用于参数的传递
3、对象.getclass,多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields,getDeclareMethods
5.注解在程序中都有哪些用途?
1、编写文档,2、代码分析,3、编译检查
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
3
回复 使用道具 举报
1.黑盒测试:不需要写测试框架,直接输入值看程序是否给出期望值。白盒测试:需要写测试框架,看程序是否执行成功。
2.反射就是程序修改自身属性和方法的应用,反射就将类中的各个方法封装为对象,使用反射可以在程序执行过程中操作这些对象,可以解耦,提高程序扩展性。
3第一种Class.forName("全类名")获取Class对象,一般用于配置文件中类的解析。
第二种类名.class获取Class对象,一般用于参数传递class对象。
第三种由类对象.getClass()获取Class对象,一般用于对象的获取字节码方式。
4.通过调用Method[] getDeclaredMethods()方法获取Class对象中被私有的成员变量对象和成员方法对象
5.注解用来对包、类、字段、方法、局部变量、方法参数等进行说明,注释。
6.元注解是指注解的注解。
7.文件从编译到运行分为source,class,runtime三个时期。
8.可以通过反序列化流把保存对象的文件加载进内存。可以通过解析配置文件,匹配对应的类。还可以加载注释提供的类信息把类加载进内存。
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
白盒测试:需要写代码的。关注程序具体的执行流程。
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。


2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象,这就是反射机制
应用于框架中,使用反射可以在程序运行过程中,操作这些对象。
可以解耦,提高程序的可扩展性。



3.获取 Class对象有几种方式?他们的用途都在哪?
类名.class:多用于参数的传递
Class.forName():多用于配置文件,将类名定义在配置文件中。读取文件,加载类
对象名.getClass():多用于对象的获取字节码的方式


4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
使用getDeclarerdMethod()与getDeclarerdMethod()忽略修饰权限获取方法
使用getDeclarerdField()与getDeclarerdFields()忽略修饰权限获取成员变量


5.注解在程序中都有哪些用途?
注解:给计算机看,它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。


6.什么是元注解?
元注解:用于描述注解的注解,有:
@Target,说明注解出现的位置(类,方法,字段)
@Retention:说明注解保留的阶段
@Documented:说明注解是否被写入API文档中
@Inherited:说明注解是否被子类继承


7.文件从编译到运行可以分为哪三个时期?
source阶段,class阶段,runtime阶段


8.思考:想让一个类加载进内存,有几种方式?
(1)运行java文件,JVM会将Java文件编译成.class文件,然后将.class文件加载进内存
(2)通过properties属性类,通过load()方法加载进内存
(3)通过反射机制,获取类的字节码对象,将类加载进内存


回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒子测试,不需要写代码,白盒子需要写代码测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:在一个运行的程序上,将需要的类的组成部分封装成对象,进行修改等操作
当程序中代码中类、构造方法、成员方法、成员变量中有需要修改等操作的时候,就需要使用反射
可以解耦,提高程序的可扩展性;
3.获取 Class对象有几种方式?他们的用途都在哪?
第一种 Class.forName();多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二种 对象.getclass;多用于对象的获取字节码的方式
第三种 类名.class;多用于参数的传递
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
成员变量对象:Field[] getDeclaredFields()、Field getDeclaredField(String name)
成员方法对象:* Constructor<T> getDeclaredConstructor(类<?>... parameterTypes) 、Constructor<?>[] getDeclaredConstructors()
5.注解在程序中都有哪些用途?
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
1.创建对象
2.Class调用类对象
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒无需写代码,白盒需写代码关注运行流程
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象.可在程序运行中通过反射操作这些对象更改输出结果。
3.获取 Class对象有几种方式?他们的用途都在哪?
Class.forname(全类名)类名.class 类对象.getclass
4.如何获取Class对象中被私有的成员变量对象和成员方法对象? Field getDeclaredField(String name)      Method[] getDeclaredMethods()
Field[] getDeclaredFields()                        Method getDeclaredMethod
5.注解在程序中都有哪些用途?
将运行时期的错误提前到编译时期标识
6.什么是元注解?
给注解注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码期--->编译器---->运行期
8.思考:想让一个类加载进内存,有几种方式?
在main方法中 new ,反射,类加载器
回复 使用道具 举报
1.黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.将类的各个组成部分封装为其他对象。
可以在程序运行过程中,操作这些对象。 可以解耦,提高程序的可扩展性。
3.3种
4.new 一个这个类的对象,然后通过对象.私有变量来调用。
5.声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
6.元注解也是注解,不过它的用途稍微有点不同,它是用来注解(动词)注解(名词)的注解(名词)。其中注解@Retention和@Inherited两个注解很经常使用。
7.编译,解释,执行
代码的装入、代码的校验和代码的执行
8.
回复 使用道具 举报
1.        黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象
可以在程序运行中操作这些对象;可以解耦,提高程序的可扩展性
3.获取 Class对象有几种方式?他们的用途都在哪?
1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象,
多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2. 类名.class:通过类名的属性class获取,多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着,多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field[] getDeclaredFields()、Field getDeclaredField(String name)  
Method[] getDeclaredMethods()、Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
编写文档、代码分析、编译检查
6.什么是元注解?
元注解:用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
resource、runtime、class
8.思考:想让一个类加载进内存,有几种方式?
类加载器、反射、反序列化
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试不需要写代码(人性化);
白盒测试:需要写代码,效率高。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射是将类中的组成部分封装成对象。
保证代码不变的情况下使用

3.获取 Class对象有几种方式?他们的用途都在哪?
3种;
类名.class:已知类名
Class.forName("全类名“):知道全类名
对象.getClass():已有对象

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
使用含有declared的对应方法,且使用暴力反射SetAs。。。。

5.注解在程序中都有哪些用途?
作为标签使用,用于检测既定需求

6.什么是元注解?
用于注解注解的注解;

7.文件从编译到运行可以分为哪三个时期?
SOURSR     CLASS    RUNTIME

8.思考:想让一个类加载进内存,有几种方式?
4种
其中3种反射,一种注解方式
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
       黑盒测试:不需要写代码(人性化的角度)
       白盒测试:需要写代码,关注程序的具体执行流程,效率高
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
        反射:就是在程序运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象能够调用它的任          意一个属性和方法。这种动态获取的信息和动态调用对象的方法的功能     在程序的运行过程中操作这些对象,使用反射可以实现动态创建对象和编译,体现出很大的灵活性
3.获取 Class对象有几种方式?他们的用途都在哪?
       有三种方式以及用途如下
      1. 创建对象的方式一:( 对象.getClass() ) Class class1 = p1.getClass();多用于对象获取字节码
      2. 创建对象的方式二:( 类.class 需要一个明确的类 ) Class class2 = Person.class; 多用于参数传递
      3. 创建对象的方式三:( Class.forName() 传入时需要以字符串的方式传入 ) Class class3 = Class.forName("com.Per)多用于加载配置文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
         Class对象.getDeclaredFields();
         Class对象.getDeclaredField(变量名);
        Class对象.getDeclaredMethods();
        Class对象.getDeclaredMethod(方法名,参数...);
5.注解在程序中都有哪些用途?
      注解是说明程序的,是给计算机看的
6.什么是元注解?
       元注解就是用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
       源代码时期(Resource)
       类时期(Class)
       运行时期(Runtime)

8.思考:想让一个类加载进内存,有几种方式?
            有三种方式:1.类加载器  2.反序列化 3.反射

           田浪
回复 使用道具 举报
本帖最后由 黄艺纯 于 2018-8-31 10:21 编辑

1.黑盒测试和白盒测试的区别?
    白盒测试是穷举路径测试,黑盒测试是穷举输入测试,这两种方法是基于完全不同的观点,反应了事物的两个极端,它们各有侧重和优势,但不能彼此替代。在现代的测试理念中,这两种测试方法不是截然分开的,而是交叉使用。
白盒测试的优点
1、能仔细考虑软件的实现。
2、可检测代码中的每条分支和路径。
3、揭示隐藏在代码中的错误。
4、对代码的测试比较彻底。
白盒测试的缺点
1、昂贵。
2、无法检测代码中遗漏的路径和数据敏感性错误。
3、不验证规格的正确性。
黑盒测试的优点
1、对于子系统甚至系统,效率要比白盒测试高。
2、测试人员不需要了解实现的细节,包括特定的编程语言。
3、测试人员和编程人员彼此独立。
4、从用户的角度进行测试,很容易理解和接受。
5、有助于暴露规格的不一致或有歧义的问题。
6、测试用例可以在规格完成后马上进行。
黑盒测试的缺点
1、只有一小部分输入被测试到,要测试每个可能的输入几乎不可能。
2、没有清晰、简明的规格,测试用例很难设计。
3、如果测试人员不被告知开发人员已经执行过的用例,在测试数据上会存在不必要的重复。
4、有很多程序路径没有被测试到。
5、不能直接针对特定程序段测试,而这些程序段可能很复杂,有可能隐藏更多的问题。
6、大部分和研究相关的测试都是直接针对白盒测试的。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
什么是反射:
    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
    要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.
反射就是把java类中的各种成分映射成一个个的Java对象。
为什么要使用反射:
假如你写了一段代码:Object o=new Object();
运行了起来!
首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是new出来的对象,而是类的类型对象,每个类只有一个class对象,作为方法区类的数据结构的接口。jvm创建对象前,会先检查类是否加载,寻找类对应的class对象,若加载好,则为你的对象分配内存,初始化也就是代码:new Object()。
上面的流程就是你自己写好的代码扔给jvm去跑,跑完就over了,jvm关闭,你的程序也停止了。
为什么要讲这个呢?因为要理解反射必须知道它在什么场景下使用。
想想上面的程序对象是自己new的,程序相当于写死了给jvm去跑。假如一个服务器上突然遇到某个请求哦要用到某个类,哎呀但没加载进jvm,是不是要停下来自己写段代码,new一下,哦启动一下服务器,(牛逼)!
反射是什么呢?当我们的程序在运行时,需要动态的加载一些类这些类可能之前用不到所以不用加载到jvm,而是在运行时根据需要才加载,这样的好处对于服务器来说不言而喻,举个例子我们的项目底层有时是用mysql,有时用oracle,需要动态地根据实际情况加载驱动类,这个时候反射就有用了,假设 com.java.dbtest.myqlConnection,com.java.dbtest.oracleConnection这两个类我们要用,这时候我们的程序就写得比较动态化,通过Class tc =Class.forName("com.java.dbtest.TestConnection");通过类的全类名让jvm在服务器中找到并加载这个类,而如果是oracle则传入的参数就变成另一个了。这时候就可以看到反射的好处了,这个动态性就体现出java的特性了!
方法区存的是类的信息,不是存类对象的,建议看一下JVM内存分配,类加载器加载类是通过方法区上类的信息在堆上创建一个类的Class对象,这个Class对象是唯一的,由JVM保证唯一,之后对这个类的创建都是根据这个Class对象来操作的。
你可以理解成类存在方法区中,类的class对象存在于堆中,这个class对象会作为运行时创建该类对象的模版。这个class对象是唯一对应该类的,要区分所谓的实例和class对象。为什么需要class对象,你想下如果一个加载进方法区的类,在jvm运行时是动态加载进来的,没有这个class对象你思考该如何访问一个未知的类并创建对象呢?没错就是这个class作为访问接口。

3.获取 Class对象有几种方式?他们的用途都在哪?
1、通过 Class.forName("类的全称")
例如:Class cl1= Class.forName("com.csdn.Test");
直接通过配置文件获取,用于框架,数据库中
2、通过 类名.class
例如: Test test=new Test();
             Class cl3= Test.class;
必须导包才能使用此方法,没什么用。
3、通过  类的对象.getClass()
例如: Class cl2=test.getClass();  
没用,都new了个对象,还用此方法,多此一举。


4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclearedXxx();


5.注解在程序中都有哪些用途?
java内置了三种标准注解

@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息。


6.什么是元注解?
元注解的作用就是负责注解其他注解。
Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其他annotation类型作说明:
@Target 注解用于什么地方
@Retention 注解类型的存活时间
@Documented 注解是否包含在JavaDoc中
@Inherited 是否允许子类继承该注解


7.文件从编译到运行可以分为哪三个时期?
这道题问的是类加载?
总共分为三个步骤:
装载;
链接(检查、准备、解析);
初始化。


8.思考:想让一个类加载进内存,有几种方式?
1、由 new 关键字创建一个类的实例
在由运行时刻用 new 方法载入
如:Dog dog = new Dog();
2、调用 Class.forName() 方法
通过反射加载类型,并创建对象实例
如:Class clazz = Class.forName(“Dog”);
Object dog =clazz.newInstance();
3、调用某个 ClassLoader 实例的 loadClass() 方法
通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
如:Class clazz = classLoader.loadClass(“Dog”);
Object dog =clazz.newInstance();


回复 使用道具 举报
1.黑盒测试和白盒测试的区别?

   黑盒测试是不需要写代码,给输入值,看结果是否是期望值
   白盒测试是需要写代码,关注程序的具体执行流程,可以进行大批次的测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

    将类中的各个组成部分封装成其他对象,这就是反射机制。
   当程序运行时需要操作类中某个的组成部分时,可以使用反射。
  把类和类的各部分之间解耦,可以分别操作这些封装后的对象
3.获取 Class对象有几种方式?他们的用途都在哪?

   Class.forName("全类名"),多用于配置文件,将类名定义在配置文件中。
   类名.class   多用于参数的传递
   对象.getClass()多用于对象的获取字节码的方式
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?

  t通过暴力反射 setAccessible(true)
5.注解在程序中都有哪些用途?

   编写文档  如生成doc文档
   代码分析  如使用反射
   编译检查   如Override
6.什么是元注解?

  描述注解的注解
7.文件从编译到运行可以分为哪三个时期?

   SOURCE->CLASS->RUNTIME
8.思考:想让一个类加载进内存,有几种方式?

  通过反射
  通过创建类的对象
  类加载器
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象,这就是反射机制
与注解相结合的框架
单纯的反射机制应用框架
动态生成类框架

好处:1. 可以在程序运行过程中,操作这些对象。
           2. 可以解耦,提高程序的可扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
3种:
1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象   多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2.类名.class:通过类名的属性class获取                                                  多用于参数的传递
3.对象.getClass():getClass()方法在Object类中定义着                          多用于对象的获取字节码的方式

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field getDeclaredField(String name)
Method getDeclaredMethod(String name, 类<?>... parameterTypes)
5.注解在程序中都有哪些用途?
编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

6.什么是元注解?
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释
7.文件从编译到运行可以分为哪三个时期?
SOURCE     CLASS     RUNTIME
8.思考:想让一个类加载进内存,有几种方式?

1.直接new  创建对象
2.使用反射机制
3.类加载器
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
白盒需要写程序,黑河不需要写
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
把类方法,变量封装为对象
就是程序执行过程,我们需要对起进行操作
3.获取 Class对象有几种方式?他们的用途都在哪?
三种类名.class    类的实例.class     class.forname("全类名")
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
setAccessible(true/false)
5.注解在程序中都有哪些用途?
检测, 标记,压制等
6.什么是元注解?
就是对注解进行注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
new,反射
回复 使用道具 举报

=============吴齐宾==========================
1.黑盒测试和白盒测试的区别?
黑盒测试比较简单,不需要写代码.白盒测试
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装成对像,使用反射,我们可以在程序运行过程中,操作这些对像.
在我们需要在程序运行中进行修改的时候,.要用到反射
3.获取 Class对象有几种方式?他们的用途都在哪?
有三种!Class.forName 用在源文件还没有加载的时候.
           类名称.class.用于参数的传递
          对像名.getclass().当程序进入虚拟机加载的时候
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
用 Field[] getDeclaredFields() .
5.注解在程序中都有哪些用途?
        ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
        ②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
        ③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码-类对象-运行时
8.思考:想让一个类加载进内存,有几种方式?
1.通过创建对像
2.用Class.forName调用
3.对像名.class
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马