也就是说 ,在System.out.println("source = " + source);中,第二个source不是一个字符串,但你想把它作为字符串输出,这时系统就会找这个类中的toString方法,将toString方法的结果输出!
解决方案 »
- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- jxl如何向合并单元格写入值?
- 谁能发一点SCJP 5.0 的模拟考试题目
- 请问java.sql包中的Connection接口中的一些方法是作什么用的?
- 请教:在java里如何实现字符串的输入?
- 紧急求救:java rmi渗透防火墙的代码(部分也行),给分,给mn都行,急需!!!(up有分)
- 如何实现圆角窗体和按钮?
- 请问高手:有没有方便的jsp数据库编程工具?
- (高分赠送)关于String 类型的疑问!
- 哪位仁兄做过多媒体,给我一点建议,答者有分!
- 构建jsp环境的问题
- 谁会MenuItem事件响应方法?
因为没有调用到WaterSource() 方法,那么S的初始值就是Null,所以toString() 返回的是Null,也就是System.out.println("source = " + source) 输出的是source = Null,而这里的Null是S的初始值,对吗?初始化source情况:
如果调用WaterSource() 方法那么S得到赋值"Constructed",在System.out.println("source = " + source)的输出将是source =Constructed,是这样吗?
用代码表达是这样:class WaterSource {
private String s;
WaterSource() {
System.out.println("WaterSource()");
s = new String("Constructed");
}
public String toString() { return s; }
}
public class SprinklerSystem {
WaterSource source=new WaterSource() ;
void print() {
System.out.println("source = " + source);
}
public static void main(String[] args) {
SprinklerSystem x = new SprinklerSystem();
x.print();
}
} ///:~