java.lang.Void类源码的详细介绍
程序员文章站
2022-04-20 18:42:56
...
这篇文章主要介绍了java.lang.Void类源码解析的相关内容,对源码中的部分内容进行解释,具有一定参考价值,需要的朋友可以了解下。
在一次源码查看ThreadGroup的时候,看到一段代码,为以下:
/* * @throws NullPointerException if the parent argument is {@code null} * @throws SecurityException if the current thread cannot create a * thread in the specified thread group. */ private static Void checkParentAccess(ThreadGroup parent) { parent.checkAccess(); return null; }
这个方法用于检查parent访问权限,然后直接返回null,方法的返回类型为Void原以为Void类为void类的包装类,但是查看Void类的
源码后发现并不是如此,Void类的源码如下:
/** * The {@code Void} class is an uninstantiable placeholder class to hold a * reference to the {@code Class} object representing the Java keyword * void. * * @author unascribed * @since JDK1.1 */ public final class Void { /** * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ @SuppressWarnings("unchecked") public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void"); /* * The Void class cannot be instantiated. */ private Void() {} }
在最上面的注释中,描述的是
The {@code Void} class is an uninstantiable placeholder class to hold a * reference to the {@code Class} object representing the Java keyword
这段话的意思就是Void类是一个不可实例化的占位符类,它持有对标识Java关键字void的Class对象的引用。
并且本身的构造函数为private,并且注明:
public final class Void {}
final表明这个类是不允许被其他类继承的。
/* * The Void class cannot be instantiated. */
即该类是不可以实例化的。
Void类可能本身作用就只是不起任何作用,但是本身只是一个占位符类。即Void类本身只是一个占位符类,不能被实例化,多用于泛型中作占位符使用。
总结
以上就是java.lang.Void类源码的详细介绍的详细内容,更多请关注其它相关文章!
上一篇: 根据关键字 获取网站百度排名
下一篇: 网站语言英文解决方案通过改变缓冲区来实现
推荐阅读
-
Mybaits 源码解析 (八)----- 全网最详细,没有之一:结果集 ResultSet 自动映射成实体类对象(上篇)
-
西红柿和番茄一样的吗?给你详细的介绍和美食的做法
-
Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析
-
不同的湖北鱼价格详细介绍!喜欢吃鱼的人们必看
-
Mybaits 源码解析 (六)----- 全网最详细:Select 语句的执行过程分析(上篇)(Mapper方法是如何调用到XML中的SQL的?)
-
Unix/Linux系统下的nobody用户与nologin详细介绍
-
可以免费wifi无线上网的软件及其使用方法图文详细介绍
-
介绍一个简单的JavaScript类框架
-
HTML5新增的8类INPUT输入类型介绍
-
java 抽象类和接口的区别详细解析