OCA第1部分中的Java难题
我在业余时间正在阅读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难题相关推荐
- OCA第2部分中的Java难题
欢迎使用OCA的Java Puzzlers的第二部分. 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符. 在下面的类中,您可以在十进制文字中看到分隔符下划线. ...
- OCA第5部分中的Java难题
在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容. 您可以看到我们对X.parseX()方法的期望. public class Puzzle ...
- OCA第4部分中的Java难题
在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西. public class Puzzler { public static void main(String[] args ...
- OCA第6部分中的Java难题
即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构造函数有关的案例. ...
- oca认证_OCA第6部分中的Java难题
oca认证 即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构造函数 ...
- oca认证_OCA第2部分中的Java难题
oca认证 欢迎使用OCA的Java Puzzlers的第二部分. 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符. 在下面的类中,您可以在十进制文字中看到分隔 ...
- java oca_OCA第5部分中的Java难题
java oca 在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容. 您可以看到我们对X.parseX()方法的期望. public cla ...
- java oca_OCA第4部分中的Java难题
java oca 在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西. public class Puzzler { public static void main(Stri ...
- java oca_OCA第6部分中的Java难题
java oca 即使对于新的Java开发人员,构造函数也可能不是什么大谜. 本质上,当您创建一个类的实例时,该类的构造函数就会启动. 在Java Puzzlers系列的第6部分中,我们将看到一个与构 ...
最新文章
- memcached单点故障与负载均衡
- React Native的TextInput组件去掉下划线和使用背景图片
- php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
- 苹果8怎么投屏到电视_创维电视怎么投屏
- promolike原型开发前后台打通
- 百度输入法、QQ 浏览器竟都在窃取用户隐私?
- python 手机号码识别_python3库可以识别电话号码、姓名、电子邮件和地址
- html实现2048小游戏,html+css+js适合前端小白的实战全解(超详细)——2048小游戏(二)...
- 博士一篇SCI三区即可入职该高校,配偶是硕士的,直接给事业编!还有45万安家费…...
- 真没想到,vmware进入 bios设置 的方法是这样的
- WPF实现VS界面效果
- CentOS7.x Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
- Nacos注册中心AP架构源码(Distro)下篇
- 谷歌2017面经题集
- 基于 FCCA 的多特征融合的检索方法
- 几种字符集与LPTSTR、LPCSTR、LPSTR、LPCTSTR、LPWSTR、LPCWSTR的意义
- 全球经济寒冬将至?且看顶级资本大鳄的大数据分析预测
- 关于犹太人培养小孩【转】
- 强一致性、弱一致性、顺序一致性、最终一致性概述
- linux free函数头文件,Linux_Linux下malloc/free与new/delete的区别,由于malloc/free是库函数,不是 - phpStudy...