对于java中的引用不是特别理解,像下面的一段读文件小程序中的部分代码中用到的相互之间的引用,不是很清楚,感觉有点乱。
     ……//省略前面的代码      public class LockingPrimesRead{
        public static void main(String[] args){
    File aFile = new File("E:/CLanguages/Java/Java2RM/chapter11/primes.bin");
    FileInputStream inFile = null;

    try{
        inFile = new FileInputStream(aFile);
    }catch(FileNotFoundException e){
        e.printStackTrace(System.err);
        System.exit(1);
    }          ……//省略后面的代码
    aFile是对磁盘上物理文件primes.bin的引用,inFile是对aFile的引用,那么是不是可以说inFile是对磁盘上物理文件primes.bin引用的引用,那这又代表了什么概念了,如果在现实生活中,有这样的引用的引用的例子,觉得很难去理解。谢谢大家的解答。

解决方案 »

  1.   

    终归还是referance这个词语的翻译问题,换成使用是不是能感觉能好点??笑~~~~
      

  2.   

    File aFile = new File("E:/CLanguages/Java/Java2RM/chapter11/primes.bin");只是是通过filePath参数构造一个aFile对象 
    这个对象就是primes.bin文件
    而inFile = new FileInputStream(aFile); 是通过aFile参数来得到这个文件的输入流 并不是inFile是aFile的一个引用 aFile只是FileInputStream类中一个实例变量
      

  3.   

    decorator pattern的应用 而两个引用却是针对文件对象和文件输入流对象的