Java---反射机制
来源:互联网 发布:nginx 访问index.php 编辑:程序博客网 时间:2024/06/07 02:42
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
import java.util.Date;public class TestDemo { public static void main(String[] args) { Date date = new Date() ; System.out.println(date.getClass()); }}
实例化Class类对象的三种方法:
第一种:利用对象调用getClass()方法
import java.util.Date;public class TestDemo { public static void main(String[] args) { Date date = new Date() ; Class<?> cls = date.getClass() ; System.out.println(cls); }}
第二种:利用“类.class”操作
public class TestDemo { public static void main(String[] args) { Class<?> cls = java.util.Date.class; System.out.println(cls); }}
第三种:调用Class类的方法
public class TestDemo { public static void main(String[] args) throws Exception { Class<?> cls = Class.forName("java.util.Date"); System.out.println(cls); }}
通过反射机制为工厂模式服务(避免出现N个new实例化代码)
interface Fruit{ public void eat();}class Apple implements Fruit{ @Override public void eat() { System.out.println("吃苹果"); }}class Orange implements Fruit{ @Override public void eat() { System.out.println("吃橘子"); }}class Factory{ public static Fruit getFruit(String name){ Fruit f = null; try { Class<?> cls = Class.forName(name); //通过反射机制获得对应的类对象 f = (Fruit) cls.newInstance(); //通过得到的类对象取得实例(Object)并向下转型成Fruit类 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return f; }}class Proxy implements Fruit{ public void before(){ System.out.println("洗水果。"); } @Override public void eat() { this.before(); Factory.getFruit("Orange").eat(); //根据类所在的位置传入具体路径 this.after(); } public void after(){ System.out.println("将吃完的水果皮残渣扔掉。"); }}public class Test { public static void main(String[] args) { Fruit f = new Proxy(); f.eat(); }}
0 0
- 【反射】JAVA反射机制
- 【Java】JAVA反射机制
- Java 反射机制[Field反射]
- Java 反射机制[Method反射]
- Java反射机制笔记-反射机制
- java的反射机制
- Java的反射机制
- java反射机制详解!
- Java反射机制
- Java的反射机制
- java 反射机制--侯捷
- java反射机制
- java反射机制
- [候捷]Java反射机制
- java 反射机制
- java 反射机制初探
- 关于Java反射机制
- java反射机制
- 【最短路径】畅通工程续
- ORACLE SQLLOADER入库效率测评1800W/h
- Linux命令-注销 关机 重启
- 【H.264/AVC视频编解码技术详解】七、 熵编码算法(1):基础知识
- OSG源码解读----OpenThreads库
- Java---反射机制
- 初学JAVA的菜鸟级选手
- DB2创建用户及赋予权限
- MPEGTS-HLS 分析一帧数据包(H264)
- 高并发下线程安全的单例模式
- js使用JSONP、VAR实现前端跨域
- 浅谈java垃圾回收机制
- linux查看进程的io情况
- iOS swift-UILabel/UITextView的图文混排