Java中java.lang.Void类小记

在阅读JDK源代码的时候发现了有Void这么个类,Void类是一个不可实例化的占位符类,它持有对标识Java关键字void的Class对象的引用。

Void的类定义如下:

package java.lang;
public final class Void {
  private Void() {
  }
  public static final Class TYPE = Class.getPrimitiveClass("void");
}

我是在看ThreadGroup类的源码时发现的,其源码部分如下:

public ThreadGroup(ThreadGroup threadgroup, String s) {
  this(checkParentAccess(threadgroup), threadgroup, s); // checkParentAccess()方法无返回值,this会调用到下面的有参构造
}

private ThreadGroup(Void void1, ThreadGroup threadgroup, String s) {
  nUnstartedThreads = 0;
  name = s;
  maxPriority = threadgroup.maxPriority;
  daemon = threadgroup.daemon;
  vmAllowSuspension = threadgroup.vmAllowSuspension;
  parent = threadgroup;
  threadgroup.add(this);
}

除了上面的这种用法,Void类还有什么其他特别用法暂时我还不清楚,记下先。

本文标题:Java中java.lang.Void类小记

本文链接:http://yedward.net/?id=392

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章