• 技术文章 >Java >java教程

    java.lang.Void类源码的详细介绍

    黄舟黄舟2017-10-11 10:01:09原创574
    这篇文章主要介绍了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类源码的详细介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:Java中关于Lang包下常用的工具类详解 下一篇:Javaweb中jstl如何循环List中的Map数据的实例分析
    大前端线上培训班

    相关文章推荐

    • 理解java8中java.util.function.*pojo反射新方法(附代码)• 浅析安卓app和微信授权登录及分享完整对接(代码分享)• 教你一招搞定时序数据库在Spring Boot中的使用• 一招教你使用java快速创建Map(代码分享)• PlayFramework 完整实现一个APP(十一)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网