一、我的系统有很多类,每个类我都会设置一个变量,用于记录类名,然后保存入数据库的。
但我每次拷贝代码的时候,都要修改一下变量的值。所以我想用this.getClass().getName()这个方法。而这个类里面的方法都是静态(static)方法来的,所以总是报错,说静态方法里面不能用this这个“东西”。请问有什么办法吗?二、我的系统里面有几个servlet,我是用Myeclipse来工作的。servlet里面在Servlet名的位置总是有条黄色波浪线,用鼠标指着的时候有个提示,说“The serializable class XXServlet does not declare a static fianl serialVersionUID field of type long”,好象是说要提供一个UID。我本人比较追求完美,想问问到底要怎样才能解决这个提示警告?

解决方案 »

  1.   

    1.把方法写成非静态的不就行了,调用的时候创建实例再调用方法。
    2.这是ecipse要你将这个类序列化,在传递的时候就有个标示,可以让eclipse自动生成的,点左边的黄色选其中一项就可以自动生成。
      

  2.   

    那直接
    Stirng name = getClass().getName();不就完了吗,为啥要用this呢
      

  3.   

    我原来的代码是这样的:private static final String className="xxxxBiz";
    现在想改为:private static final String className=this.getClass().getName();
    3楼的网友,我试了一下你的建议,还是报错!如果不行就算了。但希望可以,或者有个高手解释一下,为什么要禁止在静态变量中用this这样的设计?