使用带有void的方法和构造函数有什么区别?例如:
public class Time {
public void getMethod() {
}
public Time() {
}
}
我在哪里使用什么? 谢谢
答案 0 :(得分:2)
new Object()
后调用构造函数。通常要做一些初始化,准备对象。方法 - 你喜欢的时候打电话给他们。static
,因为它不符合逻辑,static
表示“属于类,不属于对象”。方法可以是static
。答案 1 :(得分:1)
构造函数是属于与其创建关联的类的方法。使用Object a = new Object()声明对象时;这是调用构造函数的地方。
您应该使用构造函数来组织您为类的其余部分所需的任何数据。例如,如果要创建Time类,Time构造函数可能会获取当前时间并将其设置在变量中以便稍后使用。
其他方法就是这样。它们是为类进行一些计算或工作的方法。例如,您可能有一个接受日期的方法,并返回输入日期和当前日期之间的天数。
答案 2 :(得分:0)
'void'只是方法的返回类型。
构造函数没有返回类型。
答案 3 :(得分:0)
构造函数用于创建新对象。它的使用导致返回对新对象的引用(虽然从技术上讲,构造函数本身不返回引用)。因为这样的void对于构造函数来说是无意义的关键字。它用作Object o=new Object(parametersIfApplicable)
另一方面,带有void返回参数的方法什么都不返回(但通常会更改对象内部的数据(或者不经常更改传递给它的对象之一);否则调用它将毫无意义。 / p>
答案 4 :(得分:0)
void方法特别不返回任何数据或对象。实际上,构造函数不会返回任何内容。
从硬件角度来看,它初始化调用者在对象声明分配的构造中给出的信息; Doughty在“References to and Creating Objects”下提供了广泛的概述。
为了使用方法getMethod()
,您必须创建类Time
的实例,这是通过构造其构造函数定义的对象来完成的。
Time currentTime; //Declaration of object only allocates space in memory for it
currentTime = new Time() //Constructs an instance of Time
//and assigns the object reference to variable currentTime
然后使用返回void的方法:
currentTime.getMethod();
只需调用方法即可执行其任务。它不返回任何数据或对象,而是返回到调用它的位置。
答案 5 :(得分:0)
当构造中的对象从其他任何地方调用时,大多数对象的方法将以相同的方式被调用。构造者是不同的。构造函数是一种特殊的void
方法,不能直接从" normal"码。相反,所有构造函数调用必须采用以下两种形式之一:
在一个构造函数的开头上调用当前类或超类中的另一个构造函数。
系统生成的调用,作为以下序列的一部分(x = new Foo(123);
给出的伪代码):
// "Magical" system routine to create an object without running constructors
Foo temp = InternalSystemMagic.CreateNewObject([foo's type]);
temp.Foo_constructor(p1); // Now invoke the constructor
x = temp; // Note that if the constructor throws, x will not get set.
请注意,编译器可以生成代码,首先创建类型为Foo
的对象而不运行构造函数,然后在新创建的类型上调用构造函数,即使没有其他操作也不合法