首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么修改静态代码块

2012-09-11 
如何修改静态代码块通过反射, 我们可以修改成员变量但是, 如何修改静态代码块?比如以下代码Java code/** *

如何修改静态代码块
通过反射, 我们可以修改成员变量
但是, 如何修改静态代码块?

比如以下代码

Java code
/** * */package pkg;import java.util.Scanner;public class HelloWorld {    private static int bbb;    static {        bbb = 2;        System.out.println("in static");    }    /**     * @param args     */    public static void main(String[] args) {        if (args.length == 0) {            Scanner scanner = new Scanner(System.in);            String tmp = null;            tmp = scanner.next();            while (!tmp.equals("exit")) {                System.out.println(tmp);                tmp = scanner.next();            }        }    }    public void foo(String aaa) {        System.out.println("in foo.");    }    public static void printBBB() {        System.out.println(bbb);    }}


[解决办法]
第一次主动使用一个类的时候,静态代码块肯定是要执行的。
[解决办法]
不知道你要干嘛??

你知道JDK1.6有个新特性吗??
可以动态生成新的类。 这个也许可以帮助到你。

比如你上面的java文件static断先空着,根据运行时把static内填了。
然后再编译成class
[解决办法]
static块 不就是这个作用吗。应该没法不让它执行。
注册也就是初始化几个成员变量,
不怕麻烦的话,可以通过反射挨个的置空。
[解决办法]
静态代码 就是初始化执行的啊。如果需求是这样的,可以考虑换个思路啊。

sql驱动(oracle,mysql等)在加载过程中是指定对应的数据库驱动注册啊。

智商有限,有点不理解 -。-||
[解决办法]
想在加载类前改写静态代码块吗,关注下先
[解决办法]
探讨

static块 不就是这个作用吗。应该没法不让它执行。
注册也就是初始化几个成员变量,
不怕麻烦的话,可以通过反射挨个的置空。

热点排行