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

目录
相关文章
|
Java Scala
165 Scala 继承
165 Scala 继承
43 0
|
分布式计算 Java Hadoop
152 Scala概述
152 Scala概述
35 0
|
6月前
|
分布式计算 Java 大数据
Scala01 —— Scala基础
Scala 是一种基于 JVM 的多范式编程语言,它融合了面向对象和函数式编程的特点。本文档介绍了Scala的基础知识,包括如何搭建开发环境、语言特性、变量和数据类型、程序逻辑、运算符、控制流、集合以及方法和函数的使用。特别强调了Scala集合的重要性,它们作为数据结构支持多种操作,并且有许多内置的算子和库来解决问题。文档还涵盖了如何在IDEA中配置Scala SDK,以及如何使用元组、映射、数组和模式匹配等核心概念。此外,文档还讨论了Scala与Java变量的区别,以及如何通过隐式类和字符串插值等扩展语言功能。
57 6
Scala01 —— Scala基础
|
Scala
163 Scala 类
163 Scala 类
36 0
|
Scala
164 Scala 对象
164 Scala 对象
29 0
|
Java Scala
Scala快速入门-5-类定义
每个类都有一个主构造器,这个构造器和类的定义“交织”在一起,它的参数直接成为类的字段,主构造器执行类体中所有的语句 类中的字段自动带getter和setter方法 用@BeanProperty注解生成JavaBean的getXxx/setXxx方法 辅助构造器是可选的,它们都叫做this
|
Java Scala
Scala快速入门-7-继承
继承类 extends 重写方法时必须用override 只有主构造器可以调用超类的主构造器 重写字段 抽象类、字段
|
Scala 开发者
Scala 的继承注意事项|学习笔记
快速学习 Scala 的继承注意事项。
105 0
Scala 的继承注意事项|学习笔记
|
Java Scala
Scala学习笔记(四) 类的初步
Scala学习笔记(四) 类的初步
126 0
|
Scala
Scala语言入门二(对象)
讲述Scala中的面向对象相关知识点
1008 0