我无法完全回答“我们为什么要打电话”无效“是'返回类型'?”
如何证明“ void ”是一种类型?
答案 0 :(得分:9)
答案 1 :(得分:8)
Java Language Specification says that:
[...]每个变量和每个表达式都有一个可以在编译时确定的类型。类型可以是基本类型或引用类型。
void
不是valid type。但是,void
是有效的keyword,用于表示method does not return a value。
Void JavaDoc还表示void
是一个关键字:
Void类是一个不可实例化的占位符类,用于保存对表示Java关键字的Class对象的引用void
与Integer JavaDoc对比:
Integer类在对象中包装基本类型int的值。 Integer类型的对象包含单个字段,其类型为int。
Void
类代表void
关键字;而Integer
类代表int
类型。
答案 2 :(得分:2)
引用:
TYPE
public static final Class TYPE
表示原始Java类型void的Class对象。
取自:http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Void.html
或者我误解了这个问题?
答案 3 :(得分:2)
希望 class void解释了为什么void是一种类型。
Void类是一个不可包含的占位符类来保存 引用表示Java关键字void的Class对象。
public final class Void extends Object
答案 4 :(得分:1)
是的,void绝对是类型,意思是“没有”。
顺便说一下,你的意思是C(C ++,Objective-C,...)。
不能说任何语言,但在C(C ++,Objective-C,...)中,void是一种类型
但它是特殊的数据类型。你不能声明void类型的变量。这与任何其他类型都不同。
但是你可以声明指向void的指针。返回值为void的函数表示函数没有返回值,或者什么都不返回。这可能会使用无效类型的所有情况
void * v; / **声明变量v作为指向void * /
的指针
* v用作表达式中的左值可以指定任何类型的值而不进行类型转换。这就是为什么将无效类型引入语言的原因
你更新了你的问题,强调你在询问Java。 Java没有指针也没有函数。 void类型用于没有返回任何内容的方法的声明。
答案 5 :(得分:1)
任何类方法都必须指定返回类型。可以指定'void'关键字,指定它没有返回类型,例如:
public void SetPantsSize(int width);
还有一个空类: http://download.oracle.com/javase/6/docs/api/java/lang/Void.html
答案 6 :(得分:0)
Void是大多数语言中的一种类型,并且在典型的类型系统中,将它视为指定“无”的类型是最有意义的。您没有说明您的语言,但例如,在C#中,void
关键字对应于.NET framework void type。
答案 7 :(得分:-1)
void
是Java语言中的一种类型(您可以直接在Java语言规范中阅读)。
但是类型void
没有成员值,没有具体值将具有类型void。因此void
用于表示方法在调用时不能返回值(即void
是“无值”的类型)。