楼主,你外面是怎么调用的?如果你的p在外面已经:Properties p = new Properties(); 再调用这个函数是可以的。p必须在外面初始化好!所以你里面的 if (p == null) { p = new Properties(); }是没用的!!其实Java的指针和C不大一样。但一定要用指针来说的话,可以认为,指针所指的对象是可以变化的,但是指针所指的地址是不可变化的。如果p指向了null,你在函数里面把它重新指向一个新的Properties对象,这个在函数内部是正确的,但是出去了就没了,还是指回原来的null。具体你可以debug看看
也可以在方法外面实例化然后在load,操作对象是没问题的,重新指向就不可以了
再调用这个函数是可以的。p必须在外面初始化好!所以你里面的
if (p == null) {
p = new Properties();
}是没用的!!其实Java的指针和C不大一样。但一定要用指针来说的话,可以认为,指针所指的对象是可以变化的,但是指针所指的地址是不可变化的。如果p指向了null,你在函数里面把它重新指向一个新的Properties对象,这个在函数内部是正确的,但是出去了就没了,还是指回原来的null。具体你可以debug看看