摘要: 子类A继承父类B,A a=new A(); 正确的执行顺序是:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数 也就是说非静态初始化块的执行顺序要在构造函数之前。 执行完之后可以看到顺序如下: 阅读全文
posted @ 2017-09-16 22:48 刘镇平Jasper 阅读(2254) 评论(0) 推荐(0) 编辑
摘要: 从action类上分析:1.Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 2. Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基 阅读全文
posted @ 2017-09-16 17:09 刘镇平Jasper 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 两种方法的区别: 1.start方法 用 start方法来启动线程,是真正实现了多线程, 通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法。但要注意的是,此时无需等待run()方法执行完毕,即可继续 阅读全文
posted @ 2017-09-16 16:34 刘镇平Jasper 阅读(296) 评论(0) 推荐(0) 编辑