2022-08-12 10:08

了解Java之void及Void类型

王姐姐

JavaEE

(2937)

(0)

收藏

java是强类型语言

所有的方法必须要有一个确定类型的返回值,如果方法不需要返回值,也需要返回void,这个void也是一种数据类型。平时咱们都说java数据类型分为基本数据类型和引用数据类型,那这个void到底是什么呢?其实可以把void理解成一个特殊的数据类型也可以理解成一个方法的修饰符。

Void封装类

基本类型都有封装类比如int基本类型的封装类是Integer,void也有一个封装类为Void。

Void类(java.lang.Void)是一个不可实例化的占位符类,用来保存一个引用代表Java关键字void的Class对象。

Void类不可以继承和实例化。而且修饰方法时候必须返回null。

System.out.println(Void.class);
System.out.println(void.class);

执行上面两行代码输出:

class java.lang.Void
void

Void方法只能返回null

//返回void,return可有可无
public void m1() {
return;
}
//必须且只能返回null
public Void m2() {
return null;
}

Void可以用在反射中:

package com.wanmait;
import java.lang.reflect.Method;
public class VoidDemo {
    public static void main(String[] args) throws Throwable {
        for (Method method : VoidDemo.class.getMethods()) {
            if (method.getReturnType().equals(Void.TYPE)) {
                System.out.println("返回void的方法是:" + method.getName());
            } else if (method.getReturnType().equals(Integer.TYPE)) {
                System.out.println("返回int的方法是:" + method.getName());
            }
        }
    }
 
    public void m1() {
    }
 
    public int m2() {
        return 0;
    }
}

执行结果如下:

返回void的方法是:main
返回int的方法是:m2
返回void的方法是:m1
返回void的方法是:wait
返回void的方法是:wait
返回void的方法是:wait
返回int的方法是:hashCode
返回void的方法是:notify
返回void的方法是:notifyAll

Void可以用在泛型中

Void也用于无值的Map中,例如Map<String,Void>,此时value必须为null。


0条评论

点击登录参与评论