Flexible nature of java.lang.Object
We all love the mechanism of python, where we don’t have to bother about the data types of the variables. Interestingly we have one class in Java too, which is pretty similar! It’s java.lang.Object.
Example:
Java
// Java program to Demonstrate Flexible Nature of // java.lang.Object // Importing required classes import java.util.*; // Main class public class GFG { // Main driver method public static void main(String arr[]) { // Declaring a variable of Object class type Object y; y = 'A' ; // Getting the class name // using getClass() and getname() method System.out.println(y.getClass().getName()); y = 1 ; // Getting the class name System.out.println(y.getClass().getName()); y = "Hi" ; // Getting the class name System.out.println(y.getClass().getName()); y = 1.222 ; // Getting the class name System.out.println(y.getClass().getName()); y = false ; // Getting the class name System.out.println(y.getClass().getName()); } } |
java.lang.Character java.lang.Integer java.lang.String java.lang.Double java.lang.Boolean
Such behavior can be attributed to the fact that the Object class is a superclass to all other classes. Hence, a reference variable of type Object can be practically used to reference objects of any class. So, we could also assign y = new InputStreamReader(System.in) in the above code.
This article is contributed by Ashutosh Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Please Login to comment...