scala构造参数

该博客探讨了Scala中的类和伴生对象的实现,包括多种构造函数的使用、方法定义以及伴生对象中的函数。通过示例展示了如何创建和使用Oop1类及其伴生对象,包括对象的实例化和方法调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package cn.kgc

//伴生类

class Oop1 (name:String,age:Int){//scala默认的主构造函数

private var uname:String=name

private var uage :Int=age

private var uaddress:String=_

def this(){

this(" ",0)

println("无参")

}

def this(name:String){

this(name,0)

}

def this(age:Int){

this("",0)

}

def this(name:String,age:Int,address:String){

this(name,age)

this.uaddress=address

}

def showMsg():Unit={

println("进入到Oop1 class showMsg()方法中")

println(this.uname,this.age,this.uaddress)

Oop1.showObjectMsg

println(Oop1.like)

println("进入到Oop1 class showMsg()方法,最后一行")

}

}

//伴生对象

object Oop1{

private var like:String="篮球"

def sum(a:Int,b:Int):Int={

println(a,b)

a+b

}

def showObjectMsg()={

println("Object Oop1 showOjbectMsg")

}

//加上可以省去new对象

def apply(name: String, age: Int): Oop1 = new Oop1(name, age)

def apply(name: String): Oop1 = new Oop1(name)

def apply(age: Int): Oop1 = new Oop1(age)

def apply(): Oop1 = new Oop1()

def apply(name: String, age: Int, address: String): Oop1 = new Oop1(name, age, address) 

def main(args:Array[String]):Unit={

println("main")

// val oop=new Oop1("chen",26)

val oop2 = new Oop1

// val oop3 = new Oop1("kb11")

// val oop4 = new Oop1(12)

// val oop5 = new Oop1("gree", 21, "安德门")

oop2.showMsg

val opp6=Oop1

val opp7=Oop1("zs")

println("main end")

// println(oop.uname)

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s_schen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值