首页 > 代码库 > scala的Class
scala的Class
先看类的定义:
package com.test.scala.testimport scala.beans.BeanProperty/** * scala 的类 *///定义一个scala的类class ScalaClass { private var count:Int=0; def incremet():Int={ count+=1 count } def value=incremet() //就这样定义一个age属性,它会自动生成get 与 set 方法,age对应的get方法为 对象.age,set方法为 对象age= 赋值即可。 //这个只是针对var 定义的字段 var age=23; //如果是val定义的字段,那么它只有get方法,如: val hellworld="hellowold"; private[this] var b=9;//这代码可以限制对象访问 //如果你想与javabean相互操作,就采用@BeanProperty,此属性会生成对应的get与set方法 @BeanProperty var sex="男"; var name="" //我们定义两个辅助构造器 def this(name:String){ this() this.name=name; } def this(name:String,age:Int){ this(name) this.age=age } //主构造器用类名来实现,如 class ScalaClass(aa:String){ println("主构造器打印的内容:"+aa) } }
package com.test.scala.testimport scala.collection.mutable.ArrayBufferclass NetWork { class Member(val name:String){ val contancts=new ArrayBuffer[NetWork#Member] } val members=new ArrayBuffer[NetWork#Member] def join(name:String)={ val m=new Member(name) members+=m m }}
最后看类的生成:
package com.test.scala.testimport java.nio.channels.NetworkChannelobject ScalaClassTest { def main(args: Array[String]): Unit = { var test=new ScalaClass("sss") test.incremet(); println(test.incremet()); println(test.incremet()) println(test.value) //对象字段赋值与取值哈 test.age=33; println(test.age) test.setSex("女") println(test.getSex()) //定义一个时间 val time=new java.util.Date().getTime println(time) var chatter=new NetWork var fred=chatter.join("fred") var wills=chatter.join("wills") fred.contancts+=wills } }
scala的Class
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。