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条评论
点击登录参与评论