黑马程序员技术交流社区

标题: null 到底属于什么类型 [打印本页]

作者: 倪大大    时间: 2014-6-8 14:01
标题: null 到底属于什么类型
本帖最后由 倪大大 于 2014-6-8 16:22 编辑

当调用
        String str =null;
        System.out.println(str);
        输出  null

        null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,
        也不知道什么类型,也不是java.lang.Object的实例。
        可以做一个简单的例子:

        //null是对象吗? 属于Object类型吗?
        if (null instanceof java.lang.Object) {
            System.out.println("null属于java.lang.Object类型");
        } else {
            System.out.println("null不属于java.lang.Object类型");
        }

        结果会输出:null不属于java.lang.Object类型
作者: sam9204    时间: 2014-6-8 14:35
null不属于任何类型,即使声明了变量类型
作者: 七弦    时间: 2014-6-8 15:06
引用型变量的一个特殊的取值
作者: xp8812    时间: 2014-6-8 15:22
null不是什么类型,它一个关键字,是通过Java内部机制建立的,就像public,private等等这些,也不是对象,用来修饰限定一些东西的。这是我的理解,不知道对不对。
作者: 123_yaya    时间: 2014-6-8 15:22
null 不是什么类型,用于定义数据类型值的关键字
作者: 郝培慧    时间: 2014-6-8 15:38
null用来标识一个不确定的对象,可以赋给引用型变量,但是不可以赋给基本类型变量
作者: 林峰    时间: 2014-6-8 15:39
null可以是任何对象的空表达式,表示一个没有初始化的对象,没有赋值,但却建立了引用就像:"李四"没有出生,但父母已经起好了名字,这个可以成立,出生以后再说是男是女,体质好坏,长大了干什么之类的;
Object是已知的存在所有类的超类,但不包含不存在的类,也不包含null.

作者: 倪大大    时间: 2014-6-8 16:21
大概模糊懂了..
作者: 汤姆纳斯    时间: 2014-6-8 16:40
学习学习
作者: liujie445012100    时间: 2014-6-8 19:53
null用来表示标识没有赋值的引用对象
作者: 博€$€海    时间: 2014-6-8 21:29
null是空,不属于其它类型
作者: 莫若吻    时间: 2014-6-8 22:02
Java中有4个系统定义的常量:NaN非数值、lnf无穷大、-lnf负无穷大、null空。  尽管你的问题结束了。但我还是觉得有必要告诉你正确答案。
作者: 九号球    时间: 2014-6-8 22:21
空即是色,色即是空,null就是这个空= =,在赋值时使用,超脱于java万物皆对象之外的
void也是空,修饰函数返回类型时使用
作者: sgs_gzy    时间: 2014-6-8 22:58
null属于引用数据类型,同属于Object类型的
作者: 四顾行者    时间: 2014-6-8 23:25
null是特殊赋值,一般字符串和不确定对象才用
作者: cain    时间: 2014-6-8 23:40
看的有点晕了
作者: 满面春风    时间: 2014-6-9 10:14
null是一个字符串的默认值,它不是类型。
作者: 阿布Yocan    时间: 2014-6-9 10:29
同是来学习的
作者: 把伤痕当酒窝    时间: 2014-6-23 20:10
看看 学习一下
作者: 高老强    时间: 2014-6-23 21:05
一人说一种,都不知道信谁
作者: lby369    时间: 2014-12-31 21:46
null应该是属于空常量吧。
作者: pj1988    时间: 2015-1-5 23:19
是基本数据类型
作者: lee123    时间: 2015-1-8 22:20
我也有此疑问,刚在度娘上收了一下,虽然是几年前的帖子,但那上面也是百家争鸣,你可以参考一下http://www.itpub.net/thread-1328690-1-1.html
作者: pj1988    时间: 2015-1-17 13:42
空常量,是基本数据类型撒,不确定就找李彦宏
作者: 复仇的撒旦    时间: 2015-3-1 09:35
pj1988 发表于 2015-1-17 13:42
空常量,是基本数据类型撒,不确定就找李彦宏

java跟李彦宏有啥关系
作者: pj1988    时间: 2015-3-15 16:30
复仇的撒旦 发表于 2015-3-1 09:35
java跟李彦宏有啥关系

百度自己去摆撒
作者: ccl|r    时间: 2015-3-15 19:28
新人看大家的回帖能引起思考
作者: 独自的旅程    时间: 2015-3-28 23:30

作者: WangHe9527    时间: 2015-4-14 22:22
当引用型变量没有任何实体指向时,这时该引用型变量的值就是null
作者: pengyang    时间: 2015-4-24 15:51
在C语言里面  NULL 的源文件为 define NULL 0  所以NULL的本质就是0
作者: 闪电无忧    时间: 2015-6-6 22:37
null不是基本数据类型的一种吗?
作者: 岁月草-    时间: 2015-8-15 14:33
基本数据中的空常量
作者: Z攻城狮    时间: 2015-8-16 06:41
有没有标准一点的啊
作者: 疯狂的小豆丁    时间: 2015-9-2 08:48
之前还真没想过到底是什么类型,长见识了
作者: 灵韵依存    时间: 2015-11-21 13:48
学习 一下  
作者: aweilovemusic    时间: 2016-4-3 20:26
null是空常量,是一种常量,
看你怎么使用,假如把它看成字符串的话,它就是基本数据类型了,比如 char c = new char("null");
假如是在集合里面,比如HashMap的参数key或value可以是null
比如:HashMap<String,Integer> hs = new HashMap<>();
hs.put("张三",null);
这个时候null就作为一个参数传递了,说不好是什么类型了
作者: 老人与海    时间: 2016-4-17 23:41
null属于引用数据类型的初始化值空常量
作者: 老人与海    时间: 2016-4-17 23:42
null是引用数据类型的默认初始化值
作者: YYH7    时间: 2016-4-22 13:45
老人与海 发表于 2016-4-17 23:41
null属于引用数据类型的初始化值空常量

null是常量,null不可以调用方法;一般会和""相比较的考.“”是字符串对象“”可以调用方法.

作者: innovator    时间: 2016-5-30 15:21
莫若吻 发表于 2014-6-8 22:02
Java中有4个系统定义的常量:NaN非数值、lnf无穷大、-lnf负无穷大、null空。  尽管你的问题结束了。但我还 ...

赞一个,学到了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2