博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态语言
阅读量:3953 次
发布时间:2019-05-24

本文共 563 字,大约阅读时间需要 1 分钟。

比如

有一个字符串
var b = “var a=1;”
我执行一个 eval 函数,就可以把 字符串内的脚本运行起来
在这里插入图片描述
运行一下,会发现 alert 脚本执行了,这个就是动态语言的特性。运行时可以改变自身的结构

运行时 结构不能变的 就是静态语言了,C,C++,JAVA 都是

但是 使用 java 的反射 可以使得java 有类似于动态语言的特性。 (这样 java 的动态性 使得编程更加灵活了,比如面向切面,动态代理)

在这里插入图## 标题片描述

以下内容请全文背诵:

java 反射机制提供的功能:

  1. 在运行时判断任意一个对象所属的类
  2. 在运行时构造任意一个类的对象
  3. 在运行时判断任意一个类所具有的所有的成员变量和 方法
  4. 在运行时获取泛型信息
  5. 在运行时调用任意一个对象的成员变量和方法
  6. 在运行时候处理注解
  7. 生成动态代理
  8. 。。。

反射的API

  1. java.lang.Class: 代表一个类
  2. java.lang.reflect.Method 代表类的方法
  3. java.lang.reflect.Field 代表类的成员变量
  4. java.lang.reflect.Constructor: 代表类的构造器

反射的优点

  1. 优点:

    @. 可以实现动态创建对象和编译,体现出很大的灵活性

  2. 缺点:

    @. 对性能有影响,反射是一种解释操作,这类操作会慢于直接执行相同的操作

转载地址:http://qmuzi.baihongyu.com/

你可能感兴趣的文章
寄存器编址
查看>>
在Ubuntu上搭建ssh和samba服务器
查看>>
Linux设备模型 学习总结682057749
查看>>
Udev 内核机制(kobject_uevent) 性能优化
查看>>
Android 事件处理
查看>>
Android事件处理分析+Android事件处理 +Android输入事件流程
查看>>
Linux C :遍历输出指定目录下的所有文件
查看>>
c++ 标准模板库 List
查看>>
Android键盘系统相关代码分析(1)
查看>>
Android键盘系统
查看>>
关于构造IOCTL命令的学习心得
查看>>
Android Keyboard/Touch Panel分析
查看>>
Linux Kernel and Android休眠与唤醒
查看>>
Android Framework 分析
查看>>
inotify -- Linux 2.6 内核中的文件系统变化通知机制
查看>>
C++和JNI的数据转换
查看>>
poll()函数的使用
查看>>
I/O多路复用详解(二)
查看>>
深入理解硬盘的Linux分区
查看>>
ARM 指令集>>跳转指令
查看>>