Scala-类
来源:互联网 发布:java用户信息管理系统 编辑:程序博客网 时间:2024/06/06 04:44
1、OOP对象属性与方法
object helloworld { def main(args: Array[String]) { //定义一个对象,对象里面有私有属性和方法 class Person { //Scala里面的字段都包括了方法 私有属性val包括了get()和set()防范 //val 属性包括了get()方法 private var id = 0;//字段必须初始化 //如果属性是私有的,那么get和set方法也是私有的 var name = "hello";//没有加private,初始化的时候就已经生成了set和get方法 def increment (a:Int) = id += a;//方法默认是公有属性,可以访问该类的所有对象的私有字段 //如果定义方法的时候没有加括号,调用的时候就不能加括号 def current() = id; //属性为一个常量,只有get方法没有set方法 val age = 21; } //实例化对象 var p = new Person; println(p.age);//调用get方法 p.increment(2); println(p.current()); p.name = "ton";//对name属性进行赋值 println(p.name); }}
2、private[ 修饰符] 属性
object helloworld { def main(args: Array[String]) { class Person{ private var id = 0; def incre(a: Int) = { id += a; } def isLess(other:Person) = id < other.id;//这里因为其他对象也是Person类 //所以可以访问Person的私有属性 } val p1 = new Person; p1.incre(1); val p2 = new Person; println( p1.isLess(p2)); }}
object helloworld { def main(args: Array[String]) { class Person{ private[this] var id = 0;//只能在自己的对象中访问 //其他对象不能访问,哪怕是同一个类 def incre(a: Int) = { id += a; } def isLess(other:Person) = id < other.id;//这里因为其他对象也是Person类 //所以可以访问Person的私有属性 } val p1 = new Person; p1.incre(1); val p2 = new Person; println( p1.isLess(p2)); }}
3、构造器
object helloworld { def main(args: Array[String]) { class Person{ var id = 0; var name = "tom"; var age = 12; def this(name:String) = { this();//调用主构造 this.name = name; } def this(name:String,age:Int) = { this(name);//调用辅助构造 this.age = age; } } var p = new Person("yy",23); println(p.age); println(p.name); }}
object helloworld { def main(args: Array[String]) { //主构造器中的参数有三个属性 //val ===>read 只读 get() //var ===》get()/set() //none===>none class Person (val name:String,var age:Int ,id:Int){//主构造器可以带参数也可以不用带参数 var id = 0; var name = "tom"; var age = 12; def this( name:String) = { this();//调用主构造 this.name = name; //由于在主构造器里面的name为val属性,所以不能进行set() } def this(name:String,age:Int) = { this(name);//调用辅助构造 this.age = age; } } var p = new Person("yy",23); println(p.age); println(p.name); }}
阅读全文
0 0
- Scala类
- Scala类
- Scala类
- Scala: 类
- scala类
- Scala类
- Scala 类
- Scala-类
- 【Scala】Scala的类层级
- [Scala]Scala学习笔记四 类
- Scala学习(五)---Scala中的类
- scala的类
- Scala 集合类
- Scala 类认识
- [scala之四]类
- Scala详解---------类
- Scala 类初体验
- Scala 类的继承
- PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。 检查Oracle服务器端字符编码,用 sel
- 什么时候需要用的Vue.nextTick()
- iOS多线程 一一 多线程篇
- CentOS6 YUM安装memcache
- EL表达式详解①
- Scala-类
- python二维键值数组生成转json
- 5分钟搞定内存字节对齐
- MyEclipse插件:反编译插件安装使用
- 基于java jdk1.8 编写的webservice
- T-SQL语句训练
- 深入理解javascript原型和闭包(17)——补充:上下文环境和作用域的关系
- 函数怎么传event对象
- 指令笔记