Scala的类和对象

  • 概念
  • 定义类
    • 基本语法
    • 案例实操
  • 属性
    • 基本语法
    • 案例实操
  • 创建对象
    • 基本语法
    • 案例实操

概念

类:可以看成一个模板
对象:表示具体的事物

定义类

基本语法

[修饰符] class 类名 { 类体
}
说明

(1)Scala 语法中,类并不声明为 public,所有这些类都具有公有可见性(即默认就是
public)
(2)一个 Scala 源文件可以包含多个类
(3)Scala 中属性和方法的默认访问权限为 public,但 Scala 中无 public 关键字。
(4)private 为私有权限,只在类的内部和伴生对象中可用。
(5)protected 为受保护权限,Scala 中受保护权限比 Java 中更严格,同类、子类可以
访问,同包无法访问。
(6)private[包名]增加包访问权限,包名下的其他类也可以使用
注意:Scala 中没有 public,一个.scala 中可以写多个类。

案例实操

package chapter06import scala.beans.BeanPropertyobject Test03_Class {def main(args: Array[String]): Unit = {//创建一个对象val student = new Student()//    student.name  //error 不能访问private属性println(student.age)}
//(1)Scala语法中,类并不声明为 public,所有这些类都具有公有可见性(即默
认就是 public)
class Person { } //(2)一个 Scala源文件可以包含多个类
class Teacher{ }

属性

属性是类的一个组成部分

基本语法

[修饰符] var|val 属性名称 [:类型] = 属性值

注:Bean 属性(@BeanPropetry),可以自动生成规范的 setXxx/getXxx 方法

案例实操

package chapter06import scala.beans.BeanPropertyobject Test03_Class {def main(args: Array[String]): Unit = {//创建一个对象val student = new Student()//    student.name  //error 不能访问private属性println(student.age)}}//定义一个类
class Student{//定义一个属性private var name: String = "alice"@BeanPropertyvar age: Int = 18var sex: String = _var sex1: String = null
}

创建对象

基本语法

val | var 对象名 [:类型] = new 类型()

案例实操

(1)val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。
(2)var 修饰对象,可以修改对象的引用,还可以修改对象的属性值
(3)自动推导变量类型不能多态,所以多态需要显示声明

package chapter06class Person { var name: String = "canglaoshi"
} object Person { def main(args: Array[String]): Unit = { //val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属
性的值。 val person = new Person() person.name = "bobo" // person = new Person()// 错误的 println(person.name) }
}

Scala的类和对象相关推荐

  1. Scala学习之路 (六)Scala的类、对象、继承、特质

    一.类 1.类的定义 scala语言中没有static成员存在,但是scala允许以某种方式去使用static成员 这个就是伴生机制,所谓伴生,就是在语言层面上,把static成员和非static成员 ...

  2. Scala Case类和对象

    Scala是没有Java中的switch case语法的,相对应地,scala提供了更加强大的match case 语法,即模式piper,类替代switch case,match case也被称为模 ...

  3. scala学习-类与对象

    类 / 对象 [<快学Scala>笔记] 一.类 1.Scala中的类是公有可见性的,且多个类可以包含在同一个源文件中: 1 class Counter{ 2 private var va ...

  4. Scala学习 day01 Scala的类/方法/对象/单例对象

    从今天开始,我将尽自己最大努力系统地学习Scala这门语言,希望自己能够坚持下去. Scala中的类 定义规则 class ClassName{//类中的成员 }在类定义里,可以放置字段和方法,这些被 ...

  5. 【scala】类的定义和单例对象

    一.类的定义 Scala类的定义跟JAVA中类的定义基本是一样的. 示例 class ChecksumAccumulator{var sum = 0;//Scala默认关键字为publicprivat ...

  6. 《Scala By Examples》第6章 类和对象

    先定义了一个"有理数"(rational)类: package ch6_classes_and_objects/*** 以Class的形式定义一个有理数的类型*/ class Ra ...

  7. Scala基础教程(七):类和对象、特征

    扩展一个类: 可以扩展scala类以类似的方式,如在Java中的一样,但有两个限制:方法重载需要override关键字,只有主构造可以传递参数给基构造.现在扩展上面的类,并增加一个类的方法: clas ...

  8. Scala 类和对象详解

    Scala 类和对象 类是对象的抽象,而对象是类的具体实例.类是抽象的,不占用内存,而对象是具体的,占用存储空间.类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板. 我 ...

  9. Scala中的类和对象

    类的定义 使用class定义 类的字段 在类中使用var,val定义字段 类的方法 scala中,使用var定义字段默认提供setter和getter方法 对应名称为 value_= 和value 1 ...

最新文章

  1. EMMC型号格式查询
  2. php excel 导入配置,Thinkphp3.2.3整合PHPexcel进行导入导出操作
  3. 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题
  4. 奥特曼系列服务器芝庞顿,奥特曼:黑田笔下的怪兽,芝庞顿引人注目,五帝王造型诠释霸气...
  5. 精美的案例教你如何像杂志一样排版!
  6. 斜面孔如何绘制_如何才能做好钢结构厂房基础设计
  7. python面试100讲
  8. 错误代码:ERR_UNSAFE_PORT
  9. iOS核心动画详解swift版----基础动画
  10. 给android studio安装新字体,如mac系统的monaco字体
  11. 软考中级【数据库系统工程师】第0章:如何自学备考,考试介绍考什么,备考教材,上午和下午的体型分数分布,备考课程链接,个人备考感谢
  12. ryujinx模拟器linux安装教学,怪物猎人崛起 - ryujinx模拟器使用教程搬运,无机党的春天,MHR尝尝鲜 - 踩蘑菇社区...
  13. 单片机无线语音遥控智能车
  14. 世界域名后缀大全,所有国家域名后缀都有
  15. 用java制作扑克牌_利用java如何实现扑克牌小游戏
  16. 求助mac安装wind的excel插件无法使用
  17. 电源并联均流电路的几种最常见分析方法
  18. dabs是什么意思_kswl是什么意思 网络用语弹幕KSWL是什么意思含义介绍
  19. 石头机器人红灯快闪_5.1南宁上演“科幻大片”!各闹市街头惊现“机器人快闪”...
  20. 北斗定位模块成就智慧物流

热门文章

  1. 【 Vivado 】XDC文件的约束顺序
  2. 面试题编程题06-python 输入一个字符串,反转输出
  3. 千兆宽带:是为了速度而提升速度吗?
  4. 一些关于iText和iTextSharp的旧闻(some old news about iText and iTextSharp)
  5. 谈谈 Android MVP 架构 | 掘金技术征文
  6. 【Spark Summit East 2017】Kerberizing Spark
  7. source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面
  8. LSA 安装及管理应用程序
  9. 是‘登陆’还是‘登录’
  10. 用silverlight做动画-相机