`
yangshen998
  • 浏览: 1248472 次
文章分类
社区版块
存档分类
最新评论

Null与Void谜题

 
阅读更多
下面仍然是经典的Hello World程序的另一个变种。那么,这个变种将打印什么呢?

这个程序看起来似乎应该抛出NullPointerExceptioin异常,因为其main方法是在常量null上调用greet方法,而你是不可以在null上调用方法的,对吗?嗯,某些时候是可以的。如果你运次该程序,就会发现它打印出了“Hello World!”

理解本谜题的关键是Null.greet是一个静态方法。正如你在谜题48中所看到的,在静态方法的调用中,使用表达式作为其限定符并非是一个好主意,而这也正是问题之所在。不仅表达式的值所引用的对象的运行期类型在确定哪一个方法将被调用时并不起任何作用,而且如果对象有标识的话,其标识也不起任何作用。在本例中,没有任何对象,但是这并不会造成任何区别。静态方法调用的限定表达式是可以计算的,但是它的值将被忽略。没有任何要求其值为非空的限制。

分享到:
评论

相关推荐

    Java解惑(谜题)CHM中英文双版本

    谜题54:Null与Void 谜题55:特创论 Java谜题6——库谜题 谜题56:大问题 谜题57:名字里有什么? 谜题58:产生它的散列码 谜题59:什么是差? 谜题60:一行的方法 谜题61:日期游戏 谜题62:名字游戏 ...

    NOT NULL 和NULL

    如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL 在 MySQL 中, 为一个 NOT NULL 字段设置 NULL 值 , 它并不会出错, MySQL 会自动将 NULL值转化为该字段的默认值, 那怕是你在表定义时没有...

    C语言头文件 _NULL

    C语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _NULLC语言头文件 _...

    java 谜题95

    78 谜题52:合计数的玩笑 82 谜题53:按你的意愿行事 84 谜题54:Null与Void 85 谜题55:特创论 86 Java谜题6——库谜题 89 谜题56:大问题 89 谜题57:名字里有什么? 91 谜题58:产生它...

    Oracle NULL值的比较函数(是NULL=NULL为真的函数)

    你是否也为在Oracle里如何实现NULL的比较而犯愁呢?

    null and not null

    null and not null

    public void actionPerformed(ActionEvent e)

    public void actionPerformed(ActionEvent e){ if(e.getSource()==登录){ String name=用户名.getText().toString(); String u=null,pwd=null,auth=null; String url="jdbc:odbc:mysql"; ...

    NULL

    NULL 博文链接:https://codingdna.iteye.com/blog/2024251

    Java解惑[高清].pdf

    谜题54:Null与Void .125 谜题55:特创论 127 第7 章库之谜 131 谜题56:大问题 131 谜题57:名字里有什么 133 谜题58:产生它的散列码 137 谜题59:差是什么 139 谜题60:一行以毙之 141 谜题61:日期游戏 ...

    修复win10闪退 null.sys null.zip

    windows10 修复git闪退文件, 使用方法解压压缩包, 复制null.sys到目录C:\Windows\System32\drivers 运行命令: sc start null

    null or not null

    null or not null

    法律英语翻译词汇:无效的“void”和“nullandvoid”.pdf

    法律英语翻译词汇:无效的“void”和“nullandvoid”.pdf

    W10专业版null.sys文件

    W10专业版null.sys文件

    系统文件 null.sys

    fatal: open /dev/null or dup failed: No such file or directory 解决方案(自己解决问题的方案 ps:后面介绍网上查到的其它方案) 在一台正常可以使用的电脑上拷贝c:\Windows\system32\drives\null.sys文件,...

    Null系统资源文件

    解决git报错问题Null系统资源文件 fatal: open /dev/null or dup failed: No such file or directory

    null.sys 修复Git异常

    null.sys 修复Git异常

    win10 null.sys 文件 fatal:open /dev/null or dup failed: No such file or directory

    win10安装git报错 fatal:open /dev/null or dup failed: No such file or directory错误,将该文件复制到C:\Windows\System32\drivers 替换掉原有的null.sys文件重启即可

    深入SQLServer中ISNULL与NULLIF的使用详解

    本篇文章是对SQLServer中ISNULL与NULLIF的使用进行了详细分析介绍,需要的朋友参考下

    MySQL null与not null和null与空值的区别详解

    为毛not null的效率比null高 判断字段不为空的时候,到底要 select * from table where column <> ” 还是要用 select * from table wherecolumn is not null 呢。 带着上面几个疑问,我们来深入研究一下null ...

    深入Java关键字null

    深入Java关键字null

Global site tag (gtag.js) - Google Analytics