What Is The Difference Between Final, Finally and Finalize in Java?
What Is The Difference Between Final, Finally and Finalize in Java?
final - final is a keyword in Java used to indicate whether variable, method or class can be a final. Once a variable set as final then the value can't be changed. Once a method set as final then the method can't be override d. Once a class set as final then the class can't be inherited or extended by other classes. finally - finally is block used in exception handling. Finally can be followed by try-catch or without catch block. But once we place a finally block then it will be executed always. finalize - finalize is a method and used in garbage collection. finalize() method will be invoked just before the Object is garbage collected. It will be called automatically by the JVM on the basis of resource reallocating. Even programmers can call finalize method by using System.gc(); but vendor to vendor (Different OS) will change and not sure 100% finalize method will be called. Lets see small program for final, finally and finalize
protected void finalize() throws Throwable { System.out.println("Inside Finalize method"); super.finalize(); } public static void main(String[] args) { try{ FinalizeTest obj = new FinalizeTest(); }catch (Exception e) { e.printStackTrace(); } System.gc(); } }