Object o = BookAction.class;
看到Strut2里面的ActionSupport中有一句是这样的,这是什么意思呢?
protected static Logger LOG = LoggerFactory.getLogger(ActionSupport.class);

解决方案 »

  1.   

    Object o = BookAction.class;
    <==>
    Object o = new BookAction();
      

  2.   

    1楼说的不太对。
    Class c1=BookAction.class   <====>  Class c1=Class.forName("BookAction");
    把一个类加载到内存中 ,这时还没得进行实例化 ,只对类里面的一些静态的东西(静态变量 ,静态代码块等初始化)
    Class  也是一个Object 
    所以有了这个写法:
    Object o = BookAction.class;
    然后
    BookAction bookAction =(BookAction ) c1.newInstance();
    这才创建了一个对象 ,调用了BookAction.class里面默认的构造方法。如果没得默认的构造方法 ,就要用别的方法了 ,楼主可以查看Class类的API.
                     
      

  3.   

    BookAction是一个类,BookAction.class是这个类的Class对象
    任何类都有其对应的Class对象,Class对象保存的是该类的信息,即有什么属性,有什么方法等等,这样可以就可以通过反射的方式来访问该类的实例了
    Object o = BookAction.class; <==> Object o = new BookAction().getClass();