Question:What is the out of below program?
Question: Determine the Output of below program?
Explanation: String class is a final class and it is not possible to inherit from a final class.
package com.lac.faq; class A { public int i; } public class ParamPassDemo { public static void main(String[] args) { A a =new A();//Create an object of A a.i=10; change(a); a=null; System.out.println(a.i); //Guess result of print statement } private static void change(A a){ a=null; //assign null } }Answer: The out put of the above program is 10. Most of us think the out put can be "java.lang.NullPointerException" but it is not because Objects in java are passed by copy of reference. When 'a' is passed to function 'change' the copy of reference 'a' is passed, so making the copied reference 'null' doesn't have any impact.
Question: Determine the Output of below program?
package com.lac.faq; public class MyString extends String { public static void main(String[] args) { MyString s1="abc",s2="xyz"; System.out.println(s1+s2); } }Answer: Compilation Error "MyString.java:3: cannot inherit from final java.lang.String"
Explanation: String class is a final class and it is not possible to inherit from a final class.