ホームページ  >  記事  >  Java  >  @Javaでは非推奨

@Javaでは非推奨

WBOY
WBOYオリジナル
2024-08-30 16:22:15665ブラウズ

Java では、@Deprecated は、特定のクラス、メソッド、またはフィールドが停止または置き換えられたために使用されなくなったことをコンパイラーに通知するのに役立つアノテーションです。また、誰かがそれを使用しようとした場合には警告を発する必要があります。非推奨の主な利点は、メソッドの名前が変更または追加された場合に変更が発生することです。プログラムの動作に影響を与える可能性があるため、非推奨のアノテーションが非常に便利になりました。 @deprecated アノテーションの構文、機能、例については、次のセクションで説明します。

広告 このカテゴリーの人気コース 財務モデリングと評価 - 専門分野 | 51 コースシリーズ | 30 回の模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java @deprecated アノテーションの構文

@deprecated は、クラス、インターフェース、メソッド、メンバー変数、コンストラクターなどで使用できます。それぞれを詳しく見てみましょう。

1.インターフェイスの非推奨構文

@deprecated
interface sample
{
//methods of the interface
.... .
}

2.クラスの非推奨構文:

@deprecated
class sample
{
//implementation of the class sample
. . . . .
}

3.メソッドの非推奨構文

@deprecated
class sample
{
@deprecated
Public void samplemethod1()
{
//implementation of the old samplemethod
. . . . .
}
Public void samplemethod2()
{
//implementation of the newsamplemethod
. . . . .
}
}

4.メンバー変数の減価償却構文

class sample
{
@deprecated
//old field
Public static final float PI=3.14
// new field
Public static final float PI_VALUE=3.14
}

5.コンストラクターの非推奨構文

class sample
{
@deprecated
sample(int a, int b, int c)
{
//implementation of the old constructor
. . . . .
}
sample(intd)
{
//implementation of the new constructor
. . . . .
}
}

@deprecated は Java でどのように機能しますか?

すでに説明したように、メソッド、フィールド、またはクラスの非推奨は @deprecated アノテーションを使用して行われます。それに加えて、開発者に通知するために、@deprecated java doc タグが変更とともにコメント セクションに含まれます。

以下は、このアノテーションが使用される一般的なコンテキストの一部です。

  • コンストラクターの宣言
  • 仮パラメータの宣言
  • クラスの宣言
  • パッケージの宣言
  • メソッドの宣言
  • ローカル変数の宣言
  • フィールドの宣言
  • インターフェースの宣言
  • 列挙型の宣言

注:

コンパイラは、次のような場合には非推奨の警告を発行しません。

  • 非推奨の要素が、非推奨の他の要素によって使用されている場合。つまり、非推奨のクラスは非推奨のコンストラクターを呼び出します。
  • 非推奨の要素が、@SuppressWarnings(“deprecation”) アノテーションを持つエンティティ内で使用されている場合。
  • 非推奨の要素が宣言されているだけでなく、同じ最も外側のクラス内で使用されている場合。

Java での @deprecated の例

Java で非推奨となったプログラムをいくつか見てみましょう。プログラムを作成するときは、非推奨には @Deprecated を使用し、ドキュメントの目的には @deprecated を使用するようにしてください。

例 #1

非推奨の変数名を使用しています。

コード:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1 = 10;
//new field
final int newnum = 10;
public static void main(String a[]){
//create an object for the class
depexample obj = new depexample();
//print num
System.out.println(obj.num1);
}
}

サンプル出力

@Javaでは非推奨

このプログラムでは、変数 num1 が非推奨となり、num1 の代わりに Newnum も使用することが宣言されています。したがって、このプログラムを実行すると、値 10 が出力されます。

例 #2

非推奨のメソッド名を使用しています。

コード:

public class depexample {
/* @deprecated The function method1 will be replaced by method2
*/
@Deprecated
//old method
public void method1(){
System.out.println("This is a deprecated method");
}
//new method
public void method2(String m1, String m2){
System.out.println(m1+m2);
}
public static void main(String a[]){
//class object
depexample obj = new depexample();
//call old method
obj.method1();
}}

サンプル出力

@Javaでは非推奨

このプログラムでは、method1 という名前のメソッドが非推奨となり、method2 という名前の別のメソッドが method1 の代わりに使用するように宣言されています。したがって、このプログラムを実行すると、次の行が出力されます。

例 #3

非推奨のメソッド名と非推奨の変数名を使用します。

コード:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1 = 10;
//new field
final int newnum=10;
/* @deprecated The function method1 will be replaced by method2
*/
//old method
public void method1(){
System.out.println("This is a deprecated method");
}
//new method
public void method2(String m1, String m2){
System.out.println(m1+m2);
}
public static void main(String a[]){
//class object
depexample obj = new depexample();
//call old method
obj.method1();
//print num
System.out.println(obj.num1);
}
}

サンプル出力

@Javaでは非推奨

このプログラムでは、変数 num1 が非推奨になり、num1 の代わりに Newnum も使用するように宣言されるように、最初の 2 つのプログラムが結合されています。さらに、method1 という名前のメソッドは非推奨となり、method2 という名前の別のメソッドが method1 の代わりに使用するように宣言されています。  したがって、このプログラムを実行すると、値 10 と 1 行が出力されます。

例 #4

非推奨のコンストラクターと非推奨の変数名を使用します。

コード:

public class depexample {
/* @deprecated The field num1 will be replaced by
* newnum field
*/
@Deprecated
int num1=10;
//new field
final static int newnum=10;
/* @deprecated The constructor depexamplewill be replaced by second depexample
*/
//old constructor
depexample(int a, int b, int c){
System.out.println("This is a deprecated method");
}
//new constructor
depexample(float d, int e, float f){
System.out.println(d+f);
}
public static void main(String a[]){
//class object
depexample obj = new depexample(newnum, newnum, newnum);
//print num
System.out.println(obj.num1);
}}

サンプル出力

@Javaでは非推奨

このプログラムでは、変数 num1 が非推奨となり、num1 の代わりに Newnum も使用することが宣言されています。さらに、最初に宣言されたコンストラクターも非推奨となり、2 番目のコンストラクターが最初のコンストラクターの代わりに使用するように宣言されます。  したがって、このプログラムを実行すると、値 10 と 1 行が出力されます。

결론

이 글을 통해 지원 중단이 무엇인지, 그리고 여러 사용자가 이를 사용할 수 있는 다양한 상황을 이해할 수 있을 것입니다. 그 외에도 @Deprecated 주석의 구문, 작업, 예도 작업 코드 조각 및 샘플 출력과 함께 논의됩니다.

以上が@Javaでは非推奨の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:JavaのEJB次の記事:JavaのEJB