今さらながら@Deprecatedで知ったことがあったのでメモ。
抽象クラスTestのメソッドに@Deprecatedをつけます。
1 2 3 4 5 6 7 |
package jp.co.confrage; public abstract class Test { @Deprecated public String getValue() { return ""; } } |
このTestクラスを継承したTestMainクラスを以下のように作成します。
1 2 3 4 5 6 |
package jp.co.confrage; public class TestMain extends Test{ public void sampleMethod() { getValue(); } } |
これをEclipseで記述するといかのように取り消し線がつきます。非推奨という意味です。
TestをInterfaceに変えます。
1 2 3 4 5 |
package jp.co.confrage; public interface Test { @Deprecated public String getValue(); } |
それに伴ってTestMainもgetValueを実装します。
1 2 3 4 5 6 7 8 9 10 |
package jp.co.confrage; public class TestMain implements Test{ public void sampleMethod() { getValue(); } public String getValue() { return ""; } } |
ここで取り消し線が表示されるかと思ったんですが、表示されませんでした。
「~は使用すべきではありません。」を抑制する方法
非推奨であっても使わなければいけない場合もあると思います。
そういった場合は以下アノテーションで警告を抑制します。
@SuppressWarnings(“deprecation”)
以下、使用例です。
1 2 3 4 5 6 7 |
package jp.co.confrage; public class TestMain extends Test{ @SuppressWarnings("deprecation") public void sampleMethod() { getValue();// 警告が消える } } |
以下はEclipseのキャプチャです。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^