浅谈Java反射(1)
来源:互联网 发布:spss软件如何下载 编辑:程序博客网 时间:2024/06/07 04:45
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">面向对象-Java反射机制:</span>
反射概述:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。
反射机制:
为什么要用发射?直接创建对象不ok吗?
这就涉及到动态和静态。
静态编译:编译时确定类型,绑定对象即通过。
Student s = new Student("LiSi");
动态编译:运行时确定类型,动态创建对象和编译,最大限度的发挥了Java的灵活性,体现了多态的应用,降低了类之间的耦合性。
Class.forName("com.mysql.jdbc.Driver.class").newInstance();
但缺点是对性能有影响,慢于直接执行相同的操作。
Class对象,反射的起源,类是程序的一部分,每编写一个新类,都会产生对应的Class对象,从而操纵类中的属性和方法。
源代码:
package com.billjobs.reflection;public class ClassDemo {/** * 权兴权意-2016.8.7 * 获取Class对象 */public static void main(String[] args) {// TODO Auto-generated method stubEmployee employee = new Employee("Quan", 20);//Class<?> classType = employee.getClass();//对象名.getClass()//Class<?> classType = Employee.class;//类名.classtry {Class<?> classType = Class.forName("com.billjobs.reflection.Employee");System.out.println(classType.getName());System.out.println(classType.getSuperclass().getName());} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//Class.forName("包名.类名")//System.out.println(classType.getName());//System.out.println(classType.getSuperclass().getName());}}class Employee{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Employee(String name, int age) {super();this.name = name;this.age = age;}}
0 0
- 浅谈Java反射(1)
- 浅谈JAVA反射机制1
- Java反射机制浅谈(一)
- (浅谈)Java反射机制的使用
- 浅谈JAVA反射机制
- 浅谈Java反射机制
- 浅谈java反射机制
- 浅谈Java反射机制
- 浅谈java反射问题
- Java反射机制浅谈
- Java反射浅谈
- 浅谈Java反射机制
- Java 反射机制浅谈
- Java反射机制浅谈
- java 浅谈反射机制
- 浅谈Java反射
- 浅谈Java反射
- Java反射浅谈
- 反射+注解或去数据库查询语句
- 程序员的观察力
- mysql 通过bin-log恢复数据方法详解
- Linux 文件权限管理 之 RWX
- 利用JAXBContext将xml文件转换成List<T>
- 浅谈Java反射(1)
- KMP算法
- Spring从入门到精通视频教程合集
- hdoj 1010 Tempter of the Bone (dfs 奇偶剪枝)
- Lucene学习笔记之(五)lucene的特殊查询
- Linux 文件权限管理 之 ACL
- 190. Reverse Bits
- Python基础算法/剑指offer
- Linux 文件权限管理 之 特殊权限