55555~~问过一次,不过我没问清楚。在次写一次。希望帮忙
例子有点外。但能表达出我的意思。
1. FileItem fi = (FileItem)i.next(); 
BaseUpLoadBean upBean = new BaseUpLoadBean(); 
upBean.getWorkBook( fi.getInputStream());.............................1 2.public class BaseUpLoadBean { 
private Workbook myWorkBook = null; 
public Workbook getWorkBook (InputStream inp ) throws BiffException, IOException{ 
myWorkBook = Workbook.getWorkbook(inp);................................2 
return myWorkBook  


1.问题1:如果return myworkbook时候,如果没有得到myworkbook的值,也就是说类中的myworkbook属性跟本没有发生变化。保持原来的NULL 。 
2.问题2:当return myworkbook时候,证明myworkbook属性发生变化的时候,他return给myworkbook的时候,  private Workbook myWorkBook = null;   其中的myworkbook会发生了变化。比如他属性等用于1000。 相应的,引用对象调用这个类BaseUpLoadBean ,别的方法的时候。这个类会不会让myworkbook的属性一直保持为1000。 
3.问题3:BaseUpLoadBean upBean = new BaseUpLoadBean(); .......upBean原来的引用对象  地址XXXXX  
        upBean.getWorkBook( fi.getInputStream());     ........当属性发生变化的引用对象 他的地址会跟原来一样吗?  
        如果这个引用对象的内存地址不变的话,引用对象是只负责调用这个方法? 

解决方案 »

  1.   

    第一个问题就是像你说的那样,如getWorkBook( fi.getInputStream())返回的是NULL的情况下,myworkbook就是NULL.
    第三个问题,举个例子,某一个人,可以看成是人这个类的一个引用对象,那么,如果这个据体的人身高长高了,年龄变大了,这个好比是说这个引用对象的属性发生变化了,那你能说这据体的人就不是人了吗?所以说,那个引用对象的地址是不会发生变化的.
    对于说"引用对象是只负责调用这个方法"这个说法是确实是对的,但是好像没有这么理解的.还是刚才的那个人的例子,吃饭是人的一个动作,可以看作是引用对象的一个方法,但是你总不能说人这个对象只负责吃饭这件事吧.
    第二个问题有点没大看懂,你是想说,一个类中有一个属性,这个属性的值是1000,当这个类的对象调用这个类体中别的方法时,这个属性是不是还是1000?如果是这个问题的话,那这个属性还是1000.还是人那个例子,身高和年龄是两个属性,当人这个类的一个方法改变身高这个属性的时候,年龄是不会发生变化的吧.