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