看不懂这段程序
看到这段程序:
TokenStream result = new StandardTokenizer(reader);
result = new StandardFilter(result);
result = new LowerCaseFilter(result);
result = new StopFilter(result, stopSet);
其中,StandardTokenizer ,StandardFilter ,LowerCaseFilter ,StopFilter都是TokenStream的子类。
TokenStream是抽象类,每个类都实现了next()函数,
如果调用result.next()函数,它会执行哪个next()?这段程序怎么感觉不合逻辑。
------解决方案--------------------new哪个就执行哪个啊
------解决方案--------------------result指向哪个对象,就执行哪个对象的的next()方法
------解决方案--------------------运行时多态.new的哪个就是哪个的方法.
------解决方案--------------------我也看不懂,创建了4个对象
------解决方案--------------------你在next方法里加输出,测试下不就知道了
------解决方案--------------------同意楼上的,在重写next方法,在每个方法中加入一下自己的标志性输出语句就可以了.呵呵
------解决方案--------------------试着运行一下不就知道了么?