A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大地z灵 中级黑马   /  2015-10-27 09:51  /  659 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

记不得在哪看见的代码
public class NULL {
    public static void show(){
        System.out.println("hello");
    }
    public static void main(String[] args) {
        ((NULL)null).show();
    }
}

为什么会输出hello呢,main方法中的代码什么意思

12 个回复

正序浏览
beiji 中级黑马 2015-10-27 22:19:05
13#
几个大神很厉害,学习到了
回复 使用道具 举报
ppaapc 中级黑马 2015-10-27 21:25:46
12#
不错  学习了
回复 使用道具 举报
加油!加油!加油!加油!加油!加油!加油!
回复 使用道具 举报
lixp 中级黑马 2015-10-27 18:41:21
10#
不错,学习了
回复 使用道具 举报
学习了!
回复 使用道具 举报
学习到了
回复 使用道具 举报
hbcoding 发表于 2015-10-27 11:05
将无类型的null强转为NULL类型,然后再调用静态方法show(),可以把语句写成NULL  a  = (NULL)null; a.show( ...

理解的很好,学习了
回复 使用道具 举报
((NULL)null)  NUll是一个类  null 是Java中的一个关键字   (NUll)null   是把null 强制转换成了Null类型  在内存栈中是有引用的  因为show 被Static修饰了,是静态,静态是先于对象存在的 ,所以NUll的引用可以直接调用show 方法  无需创建对对象    (NUll)null ;和String s;  应该是一个道理的吧,只不过null 有点特殊吧了
回复 使用道具 举报
学到了!!!
回复 使用道具 举报
不错学习了。
回复 使用道具 举报
(NULL)null 是将一个空引用强转为 NULL 类的引用,可能相当于 new NULL(),即匿名对象。
回复 使用道具 举报
将无类型的null强转为NULL类型,然后再调用静态方法show(),可以把语句写成NULL  a  = (NULL)null; a.show();
这样就好理解了
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马