问大家一个反射的问题 java的反射机制很强大,可以访问任何对象的私有成员,方法,建立只有私有构造器的类的对象,那么不是与面向对象的封装性相冲突了吗?呵呵,今天刚学到反射,有点想不通,希望大家解决我心中的疑惑,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 偶这个例子不行,改成了公有的才正常:import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;class A { private A() {};}public class Test{ public static void main(String args []) { Class c = null; try { c = Class.forName("A"); Constructor ctr = c.getConstructor(new Class[0]); ctr.newInstance(new Object[0]); } catch(Exception e) { e.printStackTrace(); return; } System.out.println("OK!"); } } import java.util.*;import java.io.*;import java.lang.reflect.*;public class Reflection{ public static void main(String[] args)throws Exception { Class cl = Class.forName("PriTest"); Class[] c2 = {int.class,double.class}; Constructor con = cl.getDeclaredConstructor(c2); con.setAccessible(true); Object o = con.newInstance(new Object[]{12,43.4}); System.out.println(o); Class[] c = {int.class}; Method m = cl.getDeclaredMethod("fsd", c); m.setAccessible(true); String s = (String)m.invoke(o, new Object[]{32}); System.out.println(s); }}class PriTest{ private int x; private double y; private PriTest(int x,double y) { this.x = x; this.y = y; } public String toString() { return this.x + " " + this.y; } private String fsd(int x) { return "test!"; }}我的例子代码 con.setAccessible(true);这个语句设置了可访问性可以自己配置 SecurityManager 安全管理器来管理权限反射 只是提供一种得到类运行时信息的手段 写程序初学者问两个java的问题,忍不住求解惑~ 谢谢 关于JMF的Processor的问题 急!!! 大写的Long 和 小写的long 都是内部关键字,这是怎么回事??? 请问同步中有线程和异步有什么区别 求一个颠倒数组顺序的算法 Java 5 如何在安钮事件中使电脑喇叭响起来呢? 如何获取字符串表示的整数,浮点数它们的整数位数和小数位数,最好有现成的API方法? jsp中怎么对一个text类型的onkeyup的值进行判断?详细见内。 关于初始化问题 小弟跪求一个ubb正则,希望大大们帮忙....在线等 请问如何设置JTextField内容的大小范围
import java.lang.reflect.InvocationTargetException;class A {
private A() {};
}public class Test
{
public static void main(String args []) {
Class c = null;
try {
c = Class.forName("A");
Constructor ctr = c.getConstructor(new Class[0]);
ctr.newInstance(new Object[0]);
} catch(Exception e) {
e.printStackTrace();
return;
}
System.out.println("OK!");
}
}
import java.io.*;
import java.lang.reflect.*;public class Reflection
{
public static void main(String[] args)throws Exception
{
Class cl = Class.forName("PriTest");
Class[] c2 = {int.class,double.class};
Constructor con = cl.getDeclaredConstructor(c2);
con.setAccessible(true);
Object o = con.newInstance(new Object[]{12,43.4});
System.out.println(o);
Class[] c = {int.class};
Method m = cl.getDeclaredMethod("fsd", c);
m.setAccessible(true);
String s = (String)m.invoke(o, new Object[]{32});
System.out.println(s);
}
}class PriTest
{
private int x;
private double y;
private PriTest(int x,double y)
{
this.x = x;
this.y = y;
}
public String toString()
{
return this.x + " " + this.y;
}
private String fsd(int x)
{
return "test!";
}
}我的例子代码
这个语句设置了可访问性可以自己配置 SecurityManager 安全管理器来管理权限
反射 只是提供一种得到类运行时信息的手段