我的任务是将一些Python代码转换为Java。我有一些Python的经验,但我不熟悉它的一些功能。
我看到一个__init__
方法,我理解它本质上是一个构造函数。
我希望看到这样的论点:
def __init__(self,derp1, derp2, derp3):
但是在代码的一部分中,我看到了:
def __init__(self,derp1=0, derp2=0, derp3=0):
现在,对我而言,看起来这是某种条件构造函数,特别是在传递(self,0,0,0)时使用。这不应该是这种情况,因为没有替代构造函数。
它也不应该是内联赋值,因为它没有意义。
我试过谷歌搜索这意味着什么,但我没有太多运气。
感谢您提供的任何帮助。
答案 0 :(得分:3)
我认为Java不支持它。
答案 1 :(得分:3)
这些是默认参数。您可以初始化类实例,如my_class(1, 2, 3)
,它会将derp1设置为1,derp2设置为2,derp3设置为3.因为提供了默认值,您也可以将其称为my_class(5)
,并将derp1设置为5,derp2为0,derp3为0。
请记住,derp变量是__init__
函数的本地变量,因此如果要保留它们,则需要将它们分配给某个类变量。例如,在__init__
中,您可以通过执行self.derpaderp = derp1
来保存derp1值,然后在您班级的其他位置将该值称为self.derpaderp
。