【Java SE】反射
来源:互联网 发布:乾坤nb买卖源码 编辑:程序博客网 时间:2024/05/17 23:57
一、ClassLoader
- 类的加载机制,把类加载到内存,并非一次性加载,需要的时候再加载。
- static语句块加载后只执行一次
- dynamic语句块每次new对象都会执行(用的比较少)
public class Demo { public static void main(String[] args) { new A(); new A(); }}class A {//动态语句块,每new一个对象就会执行一次 { sopl("--------------"); }}//运行结果:----------------------------
- JDK中有很多的ClassLoader
二、反射
class T { T() { sopl("hello"); } public void show(String s) { sopl(s); }}public class Demo { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { String className = "demopackage.T"; Class<?> c = Class.forName(className);//把名字为className的类加载到内存 Object o = c.newInstance(); Method[] m = c.getMethods(); for(Method ms : m) { //sopl(ms.getName()); if(ms.getName().equals("show")) { ms.invoke(o,"show");//show被调用 for(Class cl : ms.getParameterTypes()) { sopl(cl.getName());//获取参数类型名字 } } } }}//运行结果:helloshowjava.lang.String
- 工厂模式:用一个方法创建一个对象,而不是new一个对象,这个方法经常叫做静态工厂方法。
class T { private static T t = null; public static T getInstance() { if(t == null) { t = new T(); } return t; }}public class Demo { public static void main(String[] args) { T tt = T.getInstance();//利用静态工厂方法建立对象 }}
0 0
- Java SE --- 反射机制
- java se反射
- java SE 反射机制
- Java Se---反射
- Java SE 基础:反射
- 【Java SE】反射
- 【Java SE】java反射机制
- Java SE 加强内省、反射
- JAVA SE——反射
- 11 java 王少飞-java SE 加强 反射小节
- java se 学习笔记 之 reflection(反射机制)1
- java se学习笔记 反射机制(上)
- Java SE学习笔记:反射、反射创建实例,反射调用方法
- java se
- Java SE
- java se
- java se
- java se
- Android启动模式
- python 如何调用另一个路径下py文件的函数
- C中auto变量和static变量
- 剑指offer:连续子数组的最大和
- 移植samba到TQ2440开发板总结
- 【Java SE】反射
- [转]某码农意外去世了,我接手了他的代码
- PTA 基础编程题目集 函数题 4-1~4-13
- 继承
- SSD参考
- 列表数据类型
- ASCII Art—使用纯文本来显示图像:综述
- 函数式编程实践记(1)——统计单词频率
- monkeyrunner.bat运行python脚本/命令行