我在业余时间正在阅读Mala Gupta的Oracle认证Java SE程序员助理书,我对所学到的一些新知识感到惊讶。 有时候他们真的没有任何意义,有时候他们虽然有道理,但确实令人惊讶。 因此,在本系列文章中,我想将它们共享为“ Java Puzzlers”,听起来比“ Java Surprises”要酷得多。

让我们检查下面的代码,看看当我们调用一个空对象引用的静态方法或字段时会发生什么。

 public class Puzzler { public static int field = 1 ; public static void printField() { System.out.println(field); } public static void main(String[] args){ /* * Lets see what happens when the * reference is null. * */ Puzzler puzzler = null ; puzzler.printField(); // prints 1 System.out.println(puzzler.field); // prints 1 }  } 

当您尝试猜测将要发生的情况时,您可以认为我们在执行方法和字段调用时会得到NullPointerException,因为引用没有附加对象。 但是请记住,静态方法和字段属于类本身,而不属于实例。 因此,不需要关联的对象,您可以使用它们,并且不会因此而异常。 我们调用静态方法的另一种方式通常是使用Puzzler.printField()形式,它可以提供更多信息。

翻译自: https://www.javacodegeeks.com/2020/04/java-puzzlers-from-oca-part-1.html

OCA第1部分中的Java难题相关推荐

  1. OCA第2部分中的Java难题

    欢迎使用OCA的Java Puzzlers的第二部分. 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符. 在下面的类中,您可以在十进制文字中看到分隔符下划线. ...

  2. OCA第5部分中的Java难题

    在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容. 您可以看到我们对X.parseX()方法的期望. public class Puzzle ...

  3. OCA第4部分中的Java难题

    在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西. public class Puzzler { public static void main(String[] args ...

  4. OCA第6部分中的Java难题

    即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构造函数有关的案例. ...

  5. oca认证_OCA第6部分中的Java难题

    oca认证 即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构造函数 ...

  6. oca认证_OCA第2部分中的Java难题

    oca认证 欢迎使用OCA的Java Puzzlers的第二部分. 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符. 在下面的类中,您可以在十进制文字中看到分隔 ...

  7. java oca_OCA第5部分中的Java难题

    java oca 在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容. 您可以看到我们对X.parseX()方法的期望. public cla ...

  8. java oca_OCA第4部分中的Java难题

    java oca 在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西. public class Puzzler { public static void main(Stri ...

  9. java oca_OCA第6部分中的Java难题

    java oca 即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构 ...

最新文章

  1. memcached单点故障与负载均衡
  2. React Native的TextInput组件去掉下划线和使用背景图片
  3. php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
  4. 苹果8怎么投屏到电视_创维电视怎么投屏
  5. promolike原型开发前后台打通
  6. 百度输入法、QQ 浏览器竟都在窃取用户隐私?
  7. python 手机号码识别_python3库可以识别电话号码、姓名、电子邮件和地址
  8. html实现2048小游戏,html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)...
  9. 博士一篇SCI三区即可入职该高校,配偶是硕士的,直接给事业编!还有45万安家费…...
  10. 真没想到,vmware进入 bios设置 的方法是这样的
  11. WPF实现VS界面效果
  12. CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
  13. Nacos注册中心AP架构源码(Distro)下篇
  14. 谷歌2017面经题集
  15. 基于 FCCA 的多特征融合的检索方法
  16. 几种字符集与LPTSTR、LPCSTR、LPSTR、LPCTSTR、LPWSTR、LPCWSTR的意义
  17. 全球经济寒冬将至?且看顶级资本大鳄的大数据分析预测
  18. 关于犹太人培养小孩【转】
  19. 强一致性、弱一致性、顺序一致性、最终一致性概述
  20. linux free函数头文件,Linux_Linux下malloc/free与new/delete的区别,由于malloc/free是库函数,不是 - phpStudy...

热门文章

  1. jzoj4224-食物【多重背包】
  2. 2021牛客暑期多校训练营5 G-Greater Integer, Better LCM(暴力+子集dp)
  3. 【期望】选书问题(金牌导航 期望-7)
  4. 训练集样本不平衡问题对CNN的影响
  5. MySQL dayname()函数
  6. art-template入门(九)之API
  7. 是现在的钱不值钱还是药太贵!
  8. 把Springboot项目部署到服务器上和结束运行
  9. mybatis的$和#详解分析
  10. 虚拟机安装windows ghost版本系统记录完整过程