首页 > 编程知识 正文

条件构造器,eclipse构造方法

时间:2023-05-04 13:40:40 阅读:173067 作者:1374

构造函数(constructor )也称为构造方法,是类的一种特殊方法,主要作用是完成新对象的初始化。

让我们回顾一下java构造函数的特征。

在Java中,可以为一个类定义多个不同的构造函数方法。 (重载构造函数方法),如果程序员没有定义构造函数方法,系统会自动为类生成缺省的无参数构造函数方法。

如果定义了自己的生成方法(构造函数),则无法使用缺省的无参数生成方法,除非定义中包含了缺省生成方法并显示了该方法

介绍Scala构造函数与Java一样,Scala构造函数也必须调用构造函数方法,并且可以具有任意数量的构造函数方法。 这意味着在Scala中,构造函数也支持过载。

Scala类的构造函数包括主构造函数和辅助构造函数

Scala构造函数的基本语法:

请注意,class类名(形参列表)//主构造函数此定义格式与java不同。 //类def this )//辅助构造函数def this )//辅助构造函数的名称this可以是多个,编译器可以是多个

Scala构造函数注意事项和详细信息

Scala构造函数用于完成新对象的初始化,并且构造函数没有返回值。 构造函数的声明紧跟在类名之后。 构造函数执行类定义中的所有语句。 除了方法外,在这里可以感受到Scala的函数式编程和面向对象的编程的融合。 这意味着构造函数也是方法(函数),传递和使用参数与上一个函数部分的内容相同。 如果没有参数,则可以省略括号,也可以省略在构建对象时调用的构造函数的括号。 辅助构造函数名称为this,这与Java不同。 多个辅助构造函数在不同的参数列表中进行区分,在较低的级别上是构造函数重载。 如果希望主构造函数是专用的,则可以在()之前添加private,以便用户可以使用辅助构造函数构建对象。 如果辅助构造函数的声明与主构造函数的声明不匹配,则会发生错误。 也就是说,构造函数名称重复。 请确保辅助生成器的第一行调用主生成器或其他辅助生成器。 一些示例:

object people { def main (args : array [ string ] ) : unit={ vals=new students.name=' Tom ' s.age=19s.printintin varname : string=_ varage : int=_//辅助构造函数无论是直接还是间接,最终都必须调用主构造函数并执行主构造函数的逻辑。 此外,调用的代码必须直接调用第一行中的def{ this(name:string ) this }//主生成器。 主生成器是空生成器。 (this.name=nameprint(this ) name 3360 string def this (name : string, age: Int ) this(//直接调用主生成器的this.name=name this.age=age println (this ) name3360string age: Int () ) } dedese 在defthis(name3360string )中,主构造函数this.age=age ) println (主构造函数的语句) (def printInfo ) :unit={println )

构造函数参数:如果Scala类的主构造函数的形状参数由非限定符限定,则此参数为局部变量; 例如,如果使用val关键字声明classpersion(name:string )参数,则Scala将该参数用作类的专用只读属性。 例如,如果class persion (valname : string )参数是用var关键字声明的,则Scala使用该参数作为类的成员属性,并使用gettex (对应于该属性)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。