类getter和setter

如果字段定义是private[this], 字段是私有的,但不生成getter和setter方法。

class Counter {
private[this] var value = 0
}

如果字段定义是私有的(private),则getter和setter方法也是私有的。

class Counter {
private var value = 0
}

如果字段定义没有修饰符, 则字段是私有的,getter和setter方法是共有的。

class Counter {
var value = 0
}

如果字段是val, 则生成final字段,并且只有getter方法。

class Counter {
val value = 0
}

重写setter和getter方法。

class Counter {
var value: Int = 0
def age: Int = { value + 100 }
def age_=(value: Int) = {
this.value = value
}
} object CTest {
def main(args: Array[String]): Unit = {
val c = new Counter()
c.age =(10)
println(c.age)
}
}

快学Scala 第六课 (类getter和setter)的更多相关文章

  1. 快学Scala 第十一课 (类继承)

    类继承: class People { } class Emp extends People{ } 和Java一样,final的类不能被继承.final的字段和方法不能被override. 在Scal ...

  2. 快学Scala 第八课 (嵌套类)

    嵌套类: class Human { class Student{ val age = 10 } } object ClassDemo { def main(args: Array[String]): ...

  3. 快学Scala 第七课 (类构造函数)

    类 主构造器: class Person (var name: String){ } 主构造参数可以不带val或者var,如果没有被其他方法使用,则不保存为字段. 如果被其他方法使用,则被升格为字段, ...

  4. 快学Scala 第十课 (包和包对象)

    Scala包定义: 嵌套式: package a1 { class a1Class{ val age = 10 } package a2 { class PackageTest { def main( ...

  5. 快学Scala 第十三课 (类型层级,对象相等性)

    Scala 类型层级: 对象相等性: 和Java一样要重写equals方法和hashcode方法 class Student(val id: Int, val name: String) { over ...

  6. 快学Scala 第五课 (构造映射,获取映射值,更新映射值,迭代映射,与Java互操作)

    构造映射: val score = Map[String, Int]() val score1 = HashMap[String, Int]() val value1 = Map[String, In ...

  7. 快学Scala 第四课 (多维数组,与Java集合的互操作)

    Scala二维数组的定义: val arr2 = Array.ofDim[String](2, 2) arr2(0)(0) = "aa" arr2(1)(0) = "bb ...

  8. 快学Scala 第三课 (定长数组,变长数组, 数组循环, 数组转换, 数组常用操作)

    定长数组定义: val ar = new Array[Int](10) val arr = Array("aa", "bb") 定长数组赋值: arr(0) = ...

  9. 快学Scala 第二十一课 (初始化trait的抽象字段)

    初始化trait的抽象字段: trait Logged { println("Logged constructor") def log(msg: String){ println( ...

随机推荐

  1. cogs1709. [SPOJ 705] 不同的子串(后缀数组

    http://cogs.pro:8080/cogs/problem/problem.php?pid=vyziQkWaP 题意:给定一个字符串,计算其不同的子串个数. 思路:ans=总共子串个数-相同的 ...

  2. Codeforces#398 &767C. Garland 树形求子节点的和

    传送门 题意:在一个树上,问能否切两刀,使得三块的节点值的和相同. 思路: 由于这个总的节点和是不变的,每块的节点值和sum固定,dfs搜索,和等于sum/3,切.若不能分成三块(不能被3整除,-1) ...

  3. poj 1177 Picture(线段树周长并)

    题目链接:http://poj.org/problem?id=1177 题意:给你n个矩形问你重叠后外边缘总共多长. 周长并与面积并很像只不过是处理的时候是   增加的周长=abs(上一次的线段的长度 ...

  4. Spring@Autowired java.lang.NullPointerException 空指针

    在使用@Autowired注解注入出现的空指针  java.lang.NullPointerException  可能存在的错误原因: 1.注解的扫描有问题 在xml配置了这个标签后,spring可以 ...

  5. Java并发编程之ThreadLocal解析

    本文讨论的是JDK 1.8中的ThreadLocal ThreadLocal概念 ThreadLocal多线程间并发访问变量的解决方案,为每个线程提供变量的副本,用空间换时间. ThreadLocal ...

  6. EF Core 通过延迟加载获取导航属性数据

    EF 6及以前的版本是默认支持延迟加载(Lazy Loading)的,早期的EF Core中并不支持,必须使用Include方法来支持导航属性的数据加载. 当然在EF Core 2.1及之后版本中已经 ...

  7. 【Offer】[30] 【包含min函数的栈】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是0(1). ...

  8. open的正确使用

    open一个对象的时候,不确定他是图片还是文本啊 #----------------------- import io   with open('photo.jpg', 'rb') as inf:   ...

  9. Sublime运行C++程序教程

    前言 传说sublime是全球最好的编辑器,可是只是编辑器啊!!!如果要运行,对于我们这些蒟蒻来说,不得不去使用DEV_C++.我们总是幻想能让sublime变成一个轻量级IDE,那该多好啊!!! 那 ...

  10. 如何通过php 使用异或(XOR)加密/解密文件

    laravel代码如下: /** * @param $q * @param $k * @return string 异或加解密 */ public function jiajiemi($q,$k){ ...