タグ

ブックマーク / nowokay.hatenablog.com (1)

  • なんでstaticがついてないとダメなの? - きしだのHatena

    Java講習の季節なわけですが。 class A{ class B{} static class C{} void x(){ new B(); new C(); } static void y(){ new B();// <-これはダメ new C(); } } で、x()でのnew B()はいいのにy()でのnew B()がダメなのはどうして?という質問があった。 もちろん「Bにstaticがついてないからダメ」で答えになる話ではなくて、「staticがついてないからダメなのはなんで?」という質問。 「staticがついてないものを使ってるときにはthisが省略されてる」ということからx()は void x(){ this.new B(); new C(); } のthisが省略されているということをベースに説明を進めてみた。 static void y(){ A a = new A()

    なんでstaticがついてないとダメなの? - きしだのHatena
    SatoshiN21
    SatoshiN21 2015/01/13
    va]
  • 1