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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.黑盒测试和白盒测试的区别?
        黑盒测试只是简单的输入参数,运行程序,看结果是否和期望的结果相同
        白盒测试是关注程序具体的执行过程

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
        反射是将类中的变量,方法封装成其他对象,
        why use 反射:可以在程序运行中操作,降低代码的关联,也就是解耦

3.获取 Class对象有几种方式?他们的用途都在哪?
        三种

        1、Class.forName("全类名"):将字节码文件加载进内存,返回Class对象,多用于配置文件,将类名定义在配置文件中。读取文件,加载类(啥意思)
        2、类名.class:通过类名的属性class获取,多用于参数的传递
        3. 对象.getClass():getClass()方法在Object类中定义着。多用于对象的获取字节码的方式

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
Field[] getDeclaredFields()  获取所有的成员变量,不考虑修饰符
Method[] getDeclaredMethods()获取所有的成员方法,不考虑修饰符

5.注解在程序中都有哪些用途?
        代替配置文件
        Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用

6.什么是元注解?
注解的注解

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

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




回复 使用道具 举报
本帖最后由 林靖 于 2018-8-30 21:41 编辑

1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的每一个属性封装成对象叫做反射
使用反射可以使我们在运行过程中操作方法,变量等,更加灵活.可以解耦,提高程序扩展
3.获取 Class对象有几种方式?他们的用途都在哪?
类名.class 多用于参数的传递
对象名.getclass  多用于对象的获取字节码的方式
Class.forName(类名称) 多用于加载配置文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
.getDeclaredFileds
.getDeclaredMethods
setAccessible(true) 暴力反射
5.注解在程序中都有哪些用途?
编写文档
代码分析
编译检查
6.什么是元注解?
作用于注解的注解
7.文件从编译到运行可以分为哪三个时期?
Source代码阶段     Class类对象阶段  Runtime运行时阶段
8.思考:想让一个类加载进内存,有几种方式?
创建对象
反射
反序列化
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。白盒测试:需要写代码的。关注程序具体的执行流程。

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

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

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields()、getDeclaredField(String name)、getDeclaredMethods()、getDeclaredMethod(String name,类<?>... parameterTypes)

5.注解在程序中都有哪些用途?
一、编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
二、代码分析:通过代码里标识的注解对代码进行分析【使用反射】
三、编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查

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

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

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

一、通过new关键字
二、Class.forName("全类名")
三、类名.Class
四、对象.getClass()

杨式贤

回复 使用道具 举报
陈建秋
1.黑盒测试和白盒测试的区别?  黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值,从人性化角度提出建议意见。
  白盒测试:需要写代码的。关注程序具体的执行流程,执行效率效率高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:将类的各个组成部分封装为其他对象。
反射使用场景:有些信息在source阶段是不清晰的,需要在runtime阶段临时加载这种场景,就需要反射机制。
使用反射的好处:(1)可以在程序执行阶段操作对象(2)可以提高解耦性,从而提高程序的扩展性。
3.获取 Class对象有几种方式?他们的用途都在哪?
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1.Class.forName() 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
2. 类名.class:通过类名的属性class获取 多用于参数的传递
3. 对象.getClass():getClass()方法在Object类中定义着。 多用于对象的获取字节码的方式
5.注解在程序中都有哪些用途?
(1)编写文档
(2)代码分析
(3)编译检查

6.什么是元注解?
  元注解是用来描述注解的注解。
7.文件从编译到运行可以分为哪三个时期?
Source,Claaa,RunTime
8.思考:想让一个类加载进内存,有几种方式?
(1)通过new类对象实例,让类加载进内存。
(2)通过反射机制。
(3)通过类加载器。
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
白盒测试:需要写代码的。关注程序具体的执行流程。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分(成员变量Method、成员方法Field、构造器Constructor)封装为其他对象,通过这些对象可以对运行中的程序进行操作,可以解耦,提升程序的可扩展性
3.获取 Class对象有几种方式?他们的用途都在哪?
三种,一是通过字节码文件Class.forName()方法;二是通过加载字节码文件类名.class();三是创建该类对象调用getClass().
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
通过Class对象调用getDeclaredFields()和getDeclaredMethods()获取
5.注解在程序中都有哪些用途?
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
SOURCE源码时期、CLASS字节码时期、RUNTIME运行时期
8.思考:想让一个类加载进内存,有几种方式?
一、直接创建类对象调用方法;二、使用类加载器;三、使用反射机制;四、使用I/O流传入内存
回复 使用道具 举报
郭林源

1.黑盒测试和白盒测试的区别?-->黑盒测试可以反馈人真实体验,但输入数据量少,效率低,不用写代码;白盒测试测试数据量大,效率高,需要写代码

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?-->将类的各个组成部分封装为其他对象,这样我们可以在程序运行时,直接操作类中各个对象

3.获取 Class对象有几种方式?他们的用途都在哪?-->3种,第一种:类名.class,多用于参数的传递   第二种:Class.forName("全类名"),多用于读取文件,加载类  第三种:对象.getClass(),多用于对象的获取字节码

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

5.注解在程序中都有哪些用途?-->1:编写文档:通过代码里标识的注解生成DOC文档   2:代码分析:通过代码里标识的注解对代码进行分析
3:编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查

6.什么是元注解?-->元注解:用于描述注解的注解

7.文件从编译到运行可以分为哪三个时期?-->源码source  、类对象 class  、运行时期runtime

8.思考:想让一个类加载进内存,有几种方式?-->1、new关键字创建一个类的实例   2、Class.forName()方法
回复 使用道具 举报
spik 中级黑马 2018-8-30 21:46:07
27#
1.黑盒测试和白盒测试的区别?

黑盒测试是指不看代码的情况下进行测试,直接输入值,看程序是否能够输出期望值;白盒测试是值在代码环境下测试,关注程序的具体执行流程。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

将类的各个组成部分封装为其他对象;反射的好处有:可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性。

3.获取 Class对象有几种方式?他们的用途都在哪?

1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象。(用于配置文件,将类名定义在配置文件中 读取文件 加载类)
2.类名.Class: 通过类名的属性获.class获取(用于参数的传递)
3.对象.getClass(): getClass() 方法在object类中定义着。(用于对象获取字节码的方式)


4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
    1. 获取成员变量们
            * Field[] getFields() :获取所有public修饰的成员变量
            * Field getField(String name)   获取指定名称的 public修饰的成员变量

            * Field[] getDeclaredFields()  获取所有的成员变量,不考虑修饰符
            * Field getDeclaredField(String name)  
        2. 获取构造方法们
            * Constructor<?>[] getConstructors()  
            * Constructor<T> getConstructor(类<?>... parameterTypes)  

            * Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)  
            * Constructor<?>[] getDeclaredConstructors()  
        3. 获取成员方法们:
            * Method[] getMethods()  
            * Method getMethod(String name, 类<?>... parameterTypes)  

            * Method[] getDeclaredMethods()  
            * Method getDeclaredMethod(String name, 类<?>... parameterTypes)

5.注解在程序中都有哪些用途?

1、编写文档 通过代码里标识的注解生成文档
2、代码分析  通便代码里标识的注解对代码进行分析(使用反射)
3、编译检查   通过代码里标识的注解让编译器能够实现基本的编译检查(例如:Override)

6.什么是元注解?

元注解:用于描述注解的注解

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

SOUTRCE 、CLASS、RUNTIME

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

正常创建对象时(new)、通过反射(三种方式)、类加载器(ClassLoader)

lijionghua
回复 使用道具 举报
spik 中级黑马 2018-8-30 21:47:18
28#
1.黑盒测试和白盒测试的区别?

黑盒测试是指不看代码的情况下进行测试,直接输入值,看程序是否能够输出期望值;白盒测试是值在代码环境下测试,关注程序的具体执行流程。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

将类的各个组成部分封装为其他对象;反射的好处有:可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性。

3.获取 Class对象有几种方式?他们的用途都在哪?

1.Class.forName("全类名"):将字节码文件加载进内存,返回Class对象。(用于配置文件,将类名定义在配置文件中 读取文件 加载类)
2.类名.Class: 通过类名的属性获.class获取(用于参数的传递)
3.对象.getClass(): getClass() 方法在object类中定义着。(用于对象获取字节码的方式)


4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
    1. 获取成员变量们
            * Field[] getFields() :获取所有public修饰的成员变量
            * Field getField(String name)   获取指定名称的 public修饰的成员变量

            * Field[] getDeclaredFields()  获取所有的成员变量,不考虑修饰符
            * Field getDeclaredField(String name)  
        2. 获取构造方法们
            * Constructor<?>[] getConstructors()  
            * Constructor<T> getConstructor(类<?>... parameterTypes)  

            * Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)  
            * Constructor<?>[] getDeclaredConstructors()  
        3. 获取成员方法们:
            * Method[] getMethods()  
            * Method getMethod(String name, 类<?>... parameterTypes)  

            * Method[] getDeclaredMethods()  
            * Method getDeclaredMethod(String name, 类<?>... parameterTypes)

5.注解在程序中都有哪些用途?

1、编写文档 通过代码里标识的注解生成文档
2、代码分析  通便代码里标识的注解对代码进行分析(使用反射)
3、编译检查   通过代码里标识的注解让编译器能够实现基本的编译检查(例如:Override)

6.什么是元注解?

元注解:用于描述注解的注解

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

SOUTRCE 、CLASS、RUNTIME

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

正常创建对象时(new)、通过反射(三种方式)、类加载器(ClassLoader)、
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
    1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
    2. 白盒测试:需要写代码的。关注程序具体的执行流程。

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

3.获取 Class对象有几种方式?他们的用途都在哪?
    1. Class.forName("全类名"):将字节码文件加载进内存,返回Class对象
        * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
    2. 类名.class:通过类名的属性class获取
        * 多用于参数的传递
    3. 对象.getClass():getClass()方法在Object类中定义着。
        * 多用于对象的获取字节码的方式

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
暴力反射    setAccessible(true/false)  暴力反射
5.注解在程序中都有哪些用途?
注解的用途:
    ①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
    ②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
    ③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

6.什么是元注解?
元注解:用于描述注解的注解

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

8.思考:想让一个类加载进内存,有几种方式?
三种方式:
     1.类加载器
    2.main方法里面创建类的对象调用类的方法
     3.反射


回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒重效果(从用户角度),白盒重过程(程序员角度)
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射指将标准类各个部分对象化封装,使代码可以在运行期更改
3.获取 Class对象有几种方式?他们的用途都在哪?
3种,获取字节码文件,调用方法获得类的各个部分
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
  getDeclaredFiled  getDeclaredMethod
5.注解在程序中都有哪些用途?
  编译检查,代码分析
6.什么是元注解?
用来注释注释的注释
7.文件从编译到运行可以分为哪三个时期?
SOURCE,CLASS,RUNTIME
8.思考:想让一个类加载进内存,有几种方式?
new ,反射,反序列化
回复 使用道具 举报
1.黑盒测试不用写代码,更加人性化,白盒测试要写代码,但是效率更高
2.发射是在运行期间可以动态的获取类的对象和修改数据,当我们只有字节码文件或者一个复杂的类,想要迅速获取这个类的成员变量,成员方法,构造方法时,使用可以反射,可以运行期间修改类中数据,解耦,增加程序扩展性
3.三种方式获取,Class中的静态方法forName方法,类名调用.class方法,类的对象调用getClass方法
当我们只知道全类名时使用第一种,当我们知道类名时可以使用第二和第三种
4.可以对应使用带有Declared的方法获取
5.编写文档,代码分析,编译检测
6.用来对注解进行说明描述
7.源文件,字节码,运行期
8.创建对象,反射获取类信息得对象
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
不需写代码,输入一个值看是否能够输出期望的值
需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类的各个组成部分封装为其他对象,这样我们可以在程序运行时,直接操作类中各个对象
3.获取 Class对象有几种方式?他们的用途都在哪?
3种
类.class
Class.forname(全包名)
对象.getClass()
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
getDeclaredFields()  getDeclaredMethod()
5.注解在程序中都有哪些用途?
编写文档
代码分析:通过代码里标识的注解对代码进行分析【使用反射】
编译检查
6.什么是元注解?
注解得注解
7.文件从编译到运行可以分为哪三个时期?
源码阶段  class编译成功阶段  runtime运行阶段
8.思考:想让一个类加载进内存,有几种方式?
类加载器
创建对象调用方法
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
答:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
    白盒测试:需要写代码的。关注程序具体的执行流程。

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

3.获取 Class对象有几种方式?他们的用途都在哪?
答:有三种。
第一,将字节码文件加载进内存,返回Class对象
     * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二,类名.class:通过类名的属性class获取
     * 多用于参数的传递
第三,对象.getClass():getClass()方法在Object类中定义着。
     * 多用于对象的获取字节码的方式

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
答:1. 获取成员变量可用以下几种方法
        * Field[] getFields() :获取所有public修饰的成员变量
        * Field getField(String name)   获取指定名称的 public修饰的成员变量
        * Field[] getDeclaredFields()  获取所有的成员变量,不考虑修饰符
        * Field getDeclaredField(String name)
    2. 获取成员方法可用以下几种方法
        * Method[] getMethods()  
        * Method getMethod(String name, 类<?>... parameterTypes)  
        * Method[] getDeclaredMethods()  
        * Method getDeclaredMethod(String name, 类<?>... parameterTypes)   

5.注解在程序中都有哪些用途?
答:说明程序,用文字描述程序的。给程序员看,方便理解代码。
具体用途有下列几种:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

6.什么是元注解?
答:用于描述注解的注解。

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

8.思考:想让一个类加载进内存,有几种方式?
答:创建类的对象、通过注解、通过配置文件加载。

(黄嘉欣)
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?    黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
    白盒测试:需要写代码的。关注程序具体的执行流程。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
   反射:将类的各个组成部分封装为其他对象;在代码运行中操作类中的对象;提高程序的拓展性;
3.获取 Class对象有几种方式?他们的用途都在哪?
  3种,Class.forName("全类名");类名.class;对象.class
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
  getDeclaredFields()  ;getDeclaredMethods()  ;并且使用暴力反射;
5.注解在程序中都有哪些用途?
  ①编写文档:②代码分析:③编译检查
6.什么是元注解?
  给注解写的注解;
7.文件从编译到运行可以分为哪三个时期?
resource;class;runtime;
8.思考:想让一个类加载进内存,有几种方式?
new,类加载器,反射;
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?白盒测试需要代码逻辑,效率快,注重程序的逻辑与结果;
黑盒测试效率慢手动测试,效率低,注重人性化的测试,是白盒测试做不到的
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
反射:是一种机制,将类的各个部分封装为其他对象
应用场景:当在程序运行过程中需要在不操作代码就实现修改

3.获取 Class对象有几种方式?他们的用途都在哪?

三种:Class.forName(); 类的对象名.getClass, 类名.class;
第一中方式可以直接通过全类名获取,可以读取配置文件和通过注解的使用
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
1、 getDeclaredFields/Methods();  
2、getDeclaredField/Method();
5.注解在程序中都有哪些用途?

标签,给程序看的,将运行期的错误提升至编译期。

6.什么是元注解?

元注解是给注解做注解的
7.文件从编译到运行可以分为哪三个时期?
source、class 、runTime
8.思考:想让一个类加载进内存,有几种方式?
编译之后虚拟机运行
反射
周家乾


回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试测试过程代码不可见。
白盒可见,可更改技术要求高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

反射提供的是runtime阶段获取类的class实例、方法、属性、注解,并且能够调用类的方法的途径,这种动态获取类信息和调用类方法的机制被称之为反射

在runtime阶段动态临时加载或者需要临时访问类的某个私有属性这种场景,反射就可以派上用场了。
3.获取 Class对象有几种方式?他们的用途都在哪?
        1.使用ciass.forname(全类名)对应源代码阶段
        2.类名.class,对应类对象阶段
        3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
    暴力反射
        Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
        Constructor<?>[] getDeclaredConstructors()  
5.注解在程序中都有哪些用途?
编写文档,代码分析,编译检查。
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
正常场景下,java从源码到运行有3个阶段:
source class runtime
8.思考:想让一个类加载进内存,有几种方式?
加载方式:
1、由new关键字创建一个类的实例
    在由运行时刻用 new 方法载入
    例:Person person = new Person();
2、使用Class.forName()
    通过反射加载类型,并创建对象实例
    例:Class clazz = Class.forName("Person");
        Object person =clazz.newInstance();
3、使用某个ClassLoader实例的loadClass()方法
    通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
    例:Class clazz = classLoader.loadClass("Person");
        Object person =clazz.newInstance();
区别:
1和2使用的类加载器是相同的,都是当前类加载器(即:this.getClass.getClassLoader)。
3由用户指定类加载器。如果需要在当前类路径以外寻找类,则只能采用第3种方式。即第3种方式加载的类与当前类分属不同的命名空间。
1是静态加载,2、3是动态加载1.黑盒测试和白盒测试的区别?
黑盒测试测试过程代码不可见。
白盒可见,可更改技术要求高。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

反射提供的是runtime阶段获取类的class实例、方法、属性、注解,并且能够调用类的方法的途径,这种动态获取类信息和调用类方法的机制被称之为反射

在runtime阶段动态临时加载或者需要临时访问类的某个私有属性这种场景,反射就可以派上用场了。
3.获取 Class对象有几种方式?他们的用途都在哪?
        1.使用ciass.forname(全类名)对应源代码阶段
        2.类名.class,对应类对象阶段
        3.对象.getclass(),对应运行阶段
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
    暴力反射
        Constructor<T> getDeclaredConstructor(类<?>... parameterTypes)
        Constructor<?>[] getDeclaredConstructors()  
5.注解在程序中都有哪些用途?
编写文档,代码分析,编译检查。
6.什么是元注解?
是给注解标识的注解
7.文件从编译到运行可以分为哪三个时期?
正常场景下,java从源码到运行有3个阶段:
source class runtime
8.思考:想让一个类加载进内存,有几种方式?
加载方式:
1、由new关键字创建一个类的实例
    在由运行时刻用 new 方法载入
    例:Person person = new Person();
2、使用Class.forName()
    通过反射加载类型,并创建对象实例
    例:Class clazz = Class.forName("Person");
        Object person =clazz.newInstance();
3、使用某个ClassLoader实例的loadClass()方法
    通过该 ClassLoader 实例的 loadClass() 方法载入。应用程序可以通过继承 ClassLoader 实现自己的类装载器。
    例:Class clazz = classLoader.loadClass("Person");
        Object person =clazz.newInstance();
区别:
1和2使用的类加载器是相同的,都是当前类加载器(即:this.getClass.getClassLoader)。
3由用户指定类加载器。如果需要在当前类路径以外寻找类,则只能采用第3种方式。即第3种方式加载的类与当前类分属不同的命名空间。
1是静态加载,2、3是动态加载
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
答:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
    白盒测试:需要写代码的。关注程序具体的执行流程。

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

3.获取 Class对象有几种方式?他们的用途都在哪?
答:有三种。
第一,将字节码文件加载进内存,返回Class对象
     * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类
第二,类名.class:通过类名的属性class获取
     * 多用于参数的传递
第三,对象.getClass():getClass()方法在Object类中定义着。
     * 多用于对象的获取字节码的方式

4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
答:1. 获取成员变量可用以下几种方法
        * Field[] getFields() :获取所有public修饰的成员变量
        * Field getField(String name)   获取指定名称的 public修饰的成员变量
        * Field[] getDeclaredFields()  获取所有的成员变量,不考虑修饰符
        * Field getDeclaredField(String name)
    2. 获取成员方法可用以下几种方法
        * Method[] getMethods()  
        * Method getMethod(String name, 类<?>... parameterTypes)  
        * Method[] getDeclaredMethods()  
        * Method getDeclaredMethod(String name, 类<?>... parameterTypes)   

5.注解在程序中都有哪些用途?
答:说明程序,用文字描述程序的。给程序员看,方便理解代码。
具体用途有下列几种:
①编写文档:通过代码里标识的注解生成文档【生成文档doc文档】
②代码分析:通过代码里标识的注解对代码进行分析【使用反射】
③编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】

6.什么是元注解?
答:用于描述注解的注解。

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

8.思考:想让一个类加载进内存,有几种方式?
答:创建类的对象、通过注解、通过流。

(黄嘉欣)
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试,不需要写代码,给一个值,看成熟能不能输出期望的值
白盒测试,需要写代码
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
在Class阶段将类的成员变量,成员方法、构造方法封装成对象,,可以在程序运行过程中,操作这些对象,可以解耦
3.获取 Class对象有几种方式?他们的用途都在哪?
三种,Class.orName(“全类名”),一般用于配置文件
类名.class用于参数传递
对象.getClass,用于对象获取字节码文件
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
用带有Declared的那个方法,或者暴力反射
5.注解在程序中都有哪些用途?
可以用来检测书写是否正确,对包、类、字段、方法、局部变量、方法参数进行说明,注释
6.什么是元注解?
用来描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
源代码时期,Class对象时期,运行时期
8.思考:想让一个类加载进内存,有几种方式?
运行程序
Class.forName("全类名")





回复 使用道具 举报
1.黑盒测试和白盒测试的区别?
黑盒测试不需要写代码,可以进行人性化操作,而白盒从操作只是按照代码进行效率高,关注的是程序的具体执行流程,不能穷举到所有的情况。
2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?
将类中的各个组成部分,比如成员方法,成员变量,构造方法等封装成其他对象。使用反射使得在程序运行的时候我们可以对封装的对象进行操作,可以解耦,提高程序的扩展性。

3.获取 Class对象有几种方式?他们的用途都在哪?
  三种方式,Class.forName,多用于配置文件,类名.class多用于参数的传递,对象.getclass多用于对象的获取字节码的方式。
4.如何获取Class对象中被私有的成员变量对象和成员方法对象?
  调用对象名.getDeclaredField和对象名.getDeclaredMethod
5.注解在程序中都有哪些用途?
  说明程序,给计算机看的,可以进行编写文档,代码分析以及编译检查等
6.什么是元注解?
用于描述注解的注解
7.文件从编译到运行可以分为哪三个时期?
   SOURCE初始化资源时期,,CLASS生成class字节码文件时期,RUNTIME运行字节码文件时期
8.思考:想让一个类加载进内存,有几种方式?
   创建类的对象,创建类的字节码文件,配置文件的方式,或则注解的方式,序列化以及反序列划对象
回复 使用道具 举报
1.黑盒测试和白盒测试的区别?

1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
2. 白盒测试:需要写代码的。关注程序具体的执行流程。

2.什么是反射?反射在程序中的应用场景,我们为什么要使用反射?

反射就是把各个组成部分封装成其他对象,应用在框架上,反射可以让我们在软件运行过程中操作这些对象

3.获取 Class对象有几种方式?他们的用途都在哪?

三种方式:类名.class;对象.getclass;Class.forName("全类名");

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

通过Class对象调用getDeclaredFields()和getDeclaredMethods()获取

5.注解在程序中都有哪些用途?

给计算机说明程序的

6.什么是元注解?

对注解进行注解的注解

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

源码source  、类对象 class  、运行时期runtime

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

new 创建
;Class.forName("全类名")
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马