Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでfinalize()メソッドをオーバーライドする目的は何ですか?


finalize() メソッドは事前定義です オブジェクトのメソッド クラスであり、保護されています finalize()の目的 オブジェクトのメソッドをオーバーライドして、クリーンアップコードを含めることができます またはシステムリソースを破棄する ■オブジェクトがガベージコレクションされる前に実行できること。 finalize()をオーバーライドする場合 メソッドの場合、 finalize()を呼び出すのは私たちの責任です 明示的にメソッド。 finalize() メソッドは一度だけ呼び出すことができます JVMまたは任意のオブジェクトによって。

構文
protected void finalize() throws Throwable
public class FinalizeMethodTest {
   protected void finalize() throws Throwable {
      try {
         System.out.println("Calling finalize() method of FinalizeMethodTest class");
      } catch(Throwable th) {
         throw th;
      } finally {
         System.out.println("Calling finalize() method of Object class");
         super.finalize();
      }
   }
   public static void main(String[] args) throws Throwable {
      FinalizeMethodTest test = new FinalizeMethodTest();
      String str = "finalize() method in Java";
      str = null;
      System.out.println(str);
      test.finalize();
   }
}
出力
null
Calling finalize() method of FinalizeMethodTest class
Calling finalize() method of Object class

  1. JavaでのStringintern()メソッドの役割は何ですか?

    文字列は、文字のシーケンスを格納するJavaのクラスであり、 java.langに属します。 パッケージ。 Stringオブジェクトを作成すると、それらを変更することはできません(不変)。 ストレージ すべてのStringオブジェクトは、String Constant poolと呼ばれるヒープ領域の別のメモリ位置に格納されます。 。 文字列値を定義するときはいつでも、JVMは文字列定数プールに指定された値で文字列オブジェクトを作成します。したがって、上記のプログラムを実行すると、2つの文字列値が文字列定数プールに作成されます。 intern()メソッド このメソッドは、一意

  2. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ