1

ファイルから読み取る InputStream への参照、またはファイルへの書き込みを行う OutputStream (または別の例として、Android 開発者の場合は MediaPlayer インスタンス) を保持するクラスがあるとします。

Java がオブジェクトを値渡しすることを知っているとしたら、次の疑似コードのようなものがあるとどうなるでしょうか?

class MyClass  {


  InputStream is;

  public void read() {
    // initialize inputstream here (assume it's reading from a file that contains the alphabet from A-z)

     is.read();

 }
 public MyClass() {
    this.read();
  }
}


class OtherClass {
  MyClass mine = new MyClass();
  public OtherClass() {
     mine.read();
     LastClass lastClass = new LastClass(mine);

  }
}


class LastClass {
   MyClass his;

   public LastClass(MyClass mc) {
       his = mc;
        his.read();
    }
}

私の質問は、値でオブジェクトを渡しているので、オープン リソースへの参照をどのように維持できるのでしょうか? また、明確にするために、すべてが実行されるまでに、MyClass のインスタンスはいくつ存在するでしょうか?

4

1 に答える 1