Java 中的 java.lang.Object 的灵活性

yufei       5 年, 6 月 前       640

有时还挺羡慕其它语言的,比如 PythonPHP 。为什么羡慕呢? 因为这些语言没有显式的所谓的数据类型,只要创建一个变量,然后把值丢给它就可以了。

但是 Java 不行,Java 在创建变量时必须明确指明数据类型。因为 Java 中的一个变量的类型在编译时就必须确定下来的。

但我们也不用灰心,哈哈,每个语言都有自己的好,Java 中其实也是可以模仿这一点的,你能猜到用的是什么方法吗?

也许你已经想到了,就是使用 java.lang.Object 类来创建一个变量。

我们先来看一段代码

JavaTester.java

class JavaTester { 

    public static void main(String args[])
    {
        Object y; 

        y = 'A'; 
        System.out.println(y.getClass().getName()); 

        y = 1; 
        System.out.println(y.getClass().getName()); 

        y = "Hi"; 
        System.out.println(y.getClass().getName()); 

        y = 1.222; 
        System.out.println(y.getClass().getName()); 

        y = false; 
        System.out.println(y.getClass().getName()); 


    } 
}

编译运行上面的代码,输出结果如下

[yufei@www.twle.cn java]$ javac JavaTester.java && java JavaTester
java.lang.Character
java.lang.Integer
java.lang.String
java.lang.Double
java.lang.Boolean

是不是很有意思,Java 中能这么做的原因是: java.lang.Object 类是所有其它类的超类。

Object 类型的引用变量实际上可用于引用任何类的对象。这也是我们经常在 Java 代码中看到 y = new InputStreamReader(System.in) 的原因。

目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.