[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10885] Re: インターフェ ースについて ( 修正) &プ チ疑問 ( 相 互参照)



失礼しましたコンパイル通らないですね・・・(T_T)
Testクラスを
public class Test {
  public static void main(String[] args){
    Hoge h1 = new Moge();
    Hoge h2 = new Rage();
    System.out.println(h1.getTableName());
    System.out.println(h2.getTableName());
  }
}
に修正してください。
(すでにstaticメソッドでしか使えない点で有効性は
少ないような気がしますが・・・)
質問自体は
1.interfaceにて定義できるメソッド修飾子(?)は abstractだけだから、
2.インターフェースは全て抽象メソッドで,それを実装したクラスで
オーバーライドするのが前提だから
などで納得しています。

P・S
プチ疑問
このような相互参照ソースがコンパイルが通るのはなぜですか?
class Test3{
  Test2 test2;
  public Test3(){
    test2 = new Test2();
  }
}
class Test2{
  Test3 test;
  Test2(){
    test = new Test3();
  }
}
私が思うにTest3クラスを作るのにTest2クラスが必要で
Test2クラスをコンパイルするのにTest3クラスが必要で
コンパイル出来ない!!となるんですが・・・