2) What will be the output of the following program?
[code lang=”java”]
package finalize;
public class Ques01 {
public static void main(String[] args) {
MyClass object = new MyClass();
object = null;
}
}
class MyClass {
void finalize(){
System.out.println("finalize");
super.finalize();
}
}
[/code]
- The program will output ‘finalize’.
- It is unsure that the finalize() method will be called by the Garbage Collector.
- As soon the object reference ‘object’ is set to null, there is a possibility that the method ‘finalize()’ will be called.
- The program will cause compile-time errors.
Answer
2) d.
The program will cause compile-time errors and the method finalize() is declared with scope ‘protected’ in the base class and it is impossible to reduce the visibility in the derived class.
Leave a Reply