Answer Posted / ramanareddy333
every class inherits the finalize() method from
java.lang.Object
the method is called by the garbage collector when it
determines no more references to the object exist
the Object finalize method performs no actions but it may
be overridden by any class
normally it should be overridden to clean-up non-Java
resources ie closing a file
if overridding finalize() it is good programming practice
to use a try-catch-finally statement and to always call
super.finalize() (JPL pg 47-48). This is a saftey measure
to ensure you do not inadvertently miss closing a resource
used by the objects calling class
protected void finalize() throws Throwable {
try {
close(); // close open files
} finally {
super.finalize();
}
}
any exception thrown by finalize() during garbage
collection halts the finalization but is otherwise ignored
finalize() is never run more than once on any object
| Is This Answer Correct ? | 4 Yes | 1 No |
Post New Answer View All Answers
What is a line break?
Can we use string in switch case in java?
What are exception handling keywords in java?
What is finalize() function in java?
What is the reflection?
What is native method in java?
What is the string function?
What is the static variable?
How many types of assembly languages are there?
Can you access the private method from outside the class?
What is meant by JVM? Is JVM platform independent or not?
Name some OOPS Concepts in Java?
Why is java multithreaded?
Is java a digit method?
What does the “final” keyword mean in front of a variable? A method? A class?