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