java oca_OCA第1部分中的Java难题

java oca

我在业余时间正在阅读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

java oca

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jvm(1)-走进java

【0】README0.1)本文转自 深入理解 jvm,旨在了解 java 体系结构;【1】java技术体系1) Sun 官方所定义的java 技术系统包括以下几个组成部分: java 程序设计语言;各种硬件平台上的java 虚拟机;Cl…

Java 高并发下的实践

一、使用的技术HashMap ConcurrentHashMap Lock ReadWriteLock synchronized 二、一百万并发下的组合 ConcurrentLockMap /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* …

java oca_OCA第2部分中的Java难题

java oca欢迎使用OCA的Java Puzzlers的第二部分。 在这一部分中,我们将看到一个有趣的案例,涉及Java 7附带的数字文字中的下划线分隔符。 在下面的类中,您可以在十进制文字中看到分隔符下划线。 还请注意,该类现在可以正常编译。…

jvm(2)-OutOfMemoryError 异常(内存溢出异常)

【0】README0.1)本文转自 深入理解 jvm, 旨在学习 OutOfMemoryError 异常(内存溢出异常) 的触发类型;0)准备知识0.1)除了程序计数器外,虚拟机内存的其他几个运行时区域(方…

java oca_OCA第7部分中的Java难题

java oca在OCA系列的Java Puzzlers的这一部分中,我将展示定义字符串和与之相关的潜在惊喜的多种方法。 创建字符串的两种基本类型是使用new关键字和仅使用字符串文字来创建。 String strWithNew new String( "hey" ); String strWithLiteral "ho&…

Java GC总结

一、gc两大基本算法1、引用计数法 2、根搜索法 二、gc改进收集算法 1、标记-清除算法 2、复制算法 3、标记-整理算法 分代收集算法 三、gc的类型 串行垃圾回收器(Serial Garbage Collector) 并行垃圾回收器(Parallel Garbage Collecto…

让CentOS能用yum自动安装rar和unrar

【0】README 0.1)本文转自: http://www.centoscn.com/CentOS/config/2015/0520/5485.html 目的:让CentOS能用yum自动安装rar和unrar 系统环境: CentOS 7.0 具体操作步骤如下: 1.编辑文件 编辑dag.repo文件&#xff0c…

java oca_OCA第6部分中的Java难题

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

Java 内存泄露总结

一、Java内存泄漏引起的原因:内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏。 二、内存泄露的方式 1、静态集合类引起内存泄漏 像HashMap、Vector等的使…

使用Mockito的Mock Void方法

大家好! 在我们之前的博客关于thenReturn和thenAnswer模拟方法之间的区别之后 ,我们又回来了关于Mockito的另一个有趣的博客。 在这里,我们将讨论“如何用Mockito模拟无效方法”。 让我们开始吧! 在编写代码时,总是至…

System.gc()调用 - 适用的场景

一、System.gc()调用 System.gc()用于调用垃圾收集器,在调用时,垃圾收集器将运行以回收未使用的内存空间。它将尝试释放被丢弃对象占用的内存。然而System.gc()调用附带一个免责声明,无法保证对垃圾收集器的调用。我们…

将模板方法模式应用到kmeans聚类算法

【0】README 0.1)本文描述和源代码均为原创,旨在说明 如何将模板方法模式应用到kmean聚类算法; 0.2)模板方法模式的intro, 参见 模板方法模式 0.3)for kmeans alg source code, please visit kmeans&a…

java oca_OCA第4部分中的Java难题

java oca在Java Puzzlers的第四部分中,我们有一些与char类型有关的东西。 public class Puzzler { public static void main(String[] args){ char myChar a ; myChar; System.out.println(myChar); } } 您可能已经猜到了。 它将打印“ b”,其原因是c…

毕业设计的十大问题

一、vue的跨域问题 1、前端本地用代理软件代理服务器 在vue项目下的 config/index.js 文件里面配置代理proxyTable:proxyTable: {/login: {target: http://192.168.1.1:8080/ntd/data,changeOrigin: true,pathRewrite: {^/login:}}2、后台服务器开启允许跨域的响应头 直接在tom…

设计模式入门(策略模式)

【0】README0.1)本文部分文字描述转自 “head first 设计模式”,旨在学习 设计模式入门(策略模式) 的基础知识;0.2)本文章节4和5的source code,参见 设计模式——策略模式源代码【1】看个荔枝&a…

java oca_OCA的Java拼图游戏第3部分

java oca在Java难题的第三部分中,我们将看到变量命名限制方面的惊喜。 如果我向您展示了这一点,那么我相信您不会因为它无法编译而感到惊讶。 静态是保留关键字之一,为什么它应该起作用? public class Puzzler {public static v…

maven安装遇到的坑

一、环境变量设置没有反应 cmd窗口的设置未更新,需重新开启cmd窗口 二、缺失包 默认加载maven的仓库 配置minor导致官方的Maven库下载不了

单件模式(单例模式)

【0】README0.1)本文部分描述转自 “head first 设计模式”, 旨在学习 单件模式(单例模式) 的相关知识 及其应用;【1】单件模式1.0)单件模式的应用背景:有一些对象其实我们只需要一个&#xff0…

java oca_OCA第5部分中的Java难题

java oca在Java Puzzlers系列的第五部分中,我们将看到与X.parseX(String s)方法相关的内容。 您可以看到我们对X.parseX()方法的期望。 public class Puzzler { public static void main(String[] args){ int i Inte…

Java Excel导出

一、Excel依赖包POI &#xff08;1&#xff09;Maven配置<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.7</version></dependency> &#xff08;2&#xff09;jar下载地址http://poi…