Java.lang.Object 的灵活特性
我们都喜欢Python的机制,我们不必担心变量的数据类型。有趣的是,我们在Java中也有一个类,非常相似!它是Java.lang.Object。
例子:
Java
// Java program to Demonstrate Flexible Nature of
// java.lang.Object
// Importing requried 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
这种行为可以归因于Object 类是所有其他类的超类这一事实。因此,Object 类型的引用变量实际上可以用于引用任何类的对象。所以,我们也可以在上面的代码中分配 y = new InputStreamReader(System.in) 。