1. What will be the output of the program? public class HorseTest { public static void main (String [] args) { class Horse { public String name; / Line 7 / public Horse(String s) { name = s; } } / class Horse ends / Object obj = new Horse("Zippo"); / Line 13 / Horse h = (Horse) obj; / Line 14 / System.out.println(h.name); } } / class HorseTest ends /
Ask Your Doubts Here
Comments
By: guest on 02 Jun 2017 01.26 am
The code in the HorseTest class is perfectly legal. Line 13 creates an instance of the method-local inner class Horse, using a reference variable declared as type Object. Line 14 casts the Horse object to a Horse reference variable, which allows line 15 to compile. If line 14 were removed, the HorseTest code would not compile, because class Object does not have a name variable.