今天遇到一个错误,空指针。半天没找出问题。后来找到了。大部分的bug都是一些小错误,只是你不容易发现它。
我在类中的构造方法中new了Service方法,为了方便。
public PagingListTrainingCourseClassModel(int itemStartNumber, int pageSize, TrainingCourseClassQueryVO queryVO) {
super(itemStartNumber, pageSize, queryVO);
trainingCourseClassServiceImpl = new TrainingCourseClassServiceImpl();
}
然后在用到这个Service的地方就不用再次new了。这是我的想法。
然后我在下面这个方法用用了这个trainingCourseClassServiceImpl对象。
protected List<TrainingCourseClassVO> getPageData(int itemStartNumber, int pageSize){
...
result=trainingCourseClassServiceImpl.findAllClass((TrainingCourseClassQueryVO)getQueryVO(), start, pageSize);
....
}
报异常说是NullPointerException,然后我就查参数,都是正确非NULL的。思考了一会儿,查了一下这个trainingCourseClassServiceImpl居然还是NULL。然后就想到,哦,可能是super(itemStartNumber, pageSize, queryVO);用到了这个protected List<TrainingCourseClassVO> getPageData(int itemStartNumber, int pageSize)。
当super类调用到这个方法的时候,方法中的Service还没有实例化,因为在构造方法中它是在super方法之后的。
唉,还需要对框架熟悉一些才好。但蛋疼的zk。搞半天。
分享到:
相关推荐
4,写一个类Fish,继承自Animal类,并提供一个构造方法,该构造方法需要一个参数name,并给legs赋默认值0;该类还要求覆盖Animal类中的无参move()方法,要求输出:XXX Swimming!! 5,写一个类Bird,继承自Animal类,并...
•如果把一个内部类放在方法里定义,这就是局部内部类,仅仅在这个方法里有效。 •局部内部类不能在外部类以外的地方使用,那么局部内部类也不能使用访问控制符和static修饰 匿名内部类 •匿名内部类适合...
1、构造方法: String(byte[] byte,int offset,int length);这个在上面已经用到。 2、equalsIgnoreCase:忽略大小写的比较,上例中如果您输入的是BYE,则不会退出,因为大小写不同,但是如果使用这个方法,则会退出。 ...
this.addWindowListener(new xxx(this)); }///构造函数结束/// ////////////////事件处理///////////////////////////////////// public void actionPerformed(ActionEvent p){ if(p.getActionCommand()==...
(我们不能总是使用别人设定好的框架,为什么不能有我们自己的框架?) 因此,首先你必须掌握 GoF 的设计模式。虽然它是隐性,但不是可以越过的。 关于本站“设计模式” Java 提供了丰富的 API,同时又有强大的...
Q0058 一个Java抽象类声明了一个方法并会抛出一个异常,问继承这个抽象类的子类,实现了这个方法,这个方法声明是不是一定要抛出一模一样的异常,可不可以不抛,或者抛出的异常比抽象类的异常范围大,或者小?...
在这是junit测试单元类我就不提交了,在main()方法中有几个小测试,有兴趣自己玩吧. 这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1....
\ XXX 由十进制数 XXX 指 定的ASCII码字符 \ Xnn 由十六进制数 nn 指定的ASCII码字符 \ cX 控制字符^X. 例如, \cI等价于 \t, \cJ等价于 \n ___________________________________________________ 如果想在正则...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和...
以上代码构建的拓扑图如下:流以一个转换器为构造参数,但也可以不传入任何参数。new Stream(new Transformer())通过定义拓扑流和转换器,可以简洁和清晰地描述如何构建一个项目。下面是一个复杂的构建流程示例:...
8、用最有效率的方法算出2乘以8等於几? 9、请设计一个一百亿的计算器 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11、"=="和equals方法究竟有什么区别? 12、静态变量和实例变量...
如果我们需要在程序中显示一个气球,这个气球的颜色不断变化,这时候我们并不需要准备 多张不同颜色的气球纹理,而只需要一张白色的气球纹理,设置blend 为BLEND_COL ORMUL,白色的R,G,B 值被表示成1.0,也就是说,...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和...
8、用最有效率的方法算出2乘以8等於几? 10 9、请设计一个一百亿的计算器 10 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 12 12、静态变量和...
8、用最有效率的方法算出2乘以8等於几? 9 9、请设计一个一百亿的计算器 9 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量...