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

[jfriends-ml 12054] ブリッジメソッドを Jad で



  高橋(智)です。

  JDK1.5.0_05 で以下のクラスC,Dをコンパイルしてみました。
--------------------------------
public class C {
  public C() {
  }

  public C dup() {
    return new C();
  }
}

public class D extends C {
  public D() {
  }

  public D dup(){
    return new D();
  }
}
--------------------------------

  で、JadでDを逆コンパイルしてみました。
-----------------------------------------------------------------
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   D.java
public class D extends C
{
    public D()
    {
    }

    public D dup()
    {
        return new D();
    }

    public volatile C dup()
    {
        return dup();
    }
}
-----------------------------------------------------------------

  public volatile C dup() の volatile はどのような意味があるので
しょうか??
  ちなみに、Jadが生成した上のファイルを javac でもう一度コンパイル
しましたら、以下のようなエラーが発生しました。(^^; 単に、Jadの問題
なのかも...
-----------------------------------------------------------------
$>javac *.java
D.java:19: 修飾子 volatile をここで使うことはできません。
    public volatile C dup()
                      ^
エラー 1 個
-----------------------------------------------------------------

-- 
高橋智宏
  Java読書会( http://www.javareading.com/bof/ )