Scala类基础

简介:

最近在开始学习Scala,本篇文章我们来讲解一下Scala中类的使用

class Counter {
    var defaultValue = 0
    val valValue = 0
    private var privateValue = 0
    private[this] var value = 0

    def increment(): Unit = {
        value += 1
    }

    def current(): Int = {
        value
    }

    def current1(): Int = value

    def current2: Int = value

}

object Counter {

    def main(args: Array[String]) {
        val counter: Counter = new Counter
        println(counter.current())
        println(counter.current1())
        println(counter.current2) //不能采用counter.current2()方式调用
    }
}

上面的例子就是一个Scala中的类的一般写法。

有几个需要注意的点:

  • Scala中方法默认都是公有的
  • 必须初始化Scala类中的字段
  • 在Scala中,类并不声明为public, Scala源文件可以包含多个类,并且这些类都具有公共可见性

我们也可以自己定义getter和setter方法:

package com.rollenholt.showcase.scala.clazz

class Counter {
    private var defaultValue:Int = 0

    def value = defaultValue

    def value_= (newValue: Int): Unit ={
        if(newValue == 1){
            defaultValue = 2
        }
    }

}

object Counter {

    def main(args: Array[String]) {
        val counter: Counter = new Counter
        println(counter.value)
        counter.value = 1
        println(counter.value)
        counter.value = 2
        println(counter.value)
    }
}

输出

0
2
2


==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/p/3945596.html,如需转载请自行联系原作者

相关文章
|
Scala
166 Scala 模式匹配和样例类
166 Scala 模式匹配和样例类
85 0
|
5月前
|
Scala
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
27 0
|
6月前
|
Scala
Scala中的类和对象:定义、创建和使用
Scala中的类和对象:定义、创建和使用
158 1
|
6月前
|
分布式计算 Java 大数据
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
76 0
|
Scala
163 Scala 类
163 Scala 类
36 0
|
设计模式 Ubuntu Java
|
分布式计算 Java Scala
scala中的模式匹配和样例类
scala有一个十分强大的模式匹配机制,可以应用到很多场合。java switch caseswitch语句类型查询以及快速获取数据并且scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。
89 0
scala中的模式匹配和样例类
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的类和对象
Scala是一种基于JVM的编程语言,它支持面向对象编程和函数式编程。本文将介绍Scala中类和对象的概念和用法,帮助开发者更好地理解和应用这门语言。
72 0
|
安全 Java 编译器
Scala快速入门-10-模式匹配与样例类
mathch表达式是一个更好的switch,不会有穿透到下一个分支的问题 如果没有模式能够匹配,会抛出MatchError,可以用case _ 模式来避免,相当于Java中的default 模式可以包含一个随意定义的条件,称做守卫 可以匹配数组、列表、元组等模式,然后将匹配到不同部分绑定到变量 样例类及密封类的模式匹配 用Option来存放可能存在也可能不存在的值,比null更安全
|
Java Scala
Scala快速入门-5-类定义
每个类都有一个主构造器,这个构造器和类的定义“交织”在一起,它的参数直接成为类的字段,主构造器执行类体中所有的语句 类中的字段自动带getter和setter方法 用@BeanProperty注解生成JavaBean的getXxx/setXxx方法 辅助构造器是可选的,它们都叫做this