Scala的类和对象
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的类和对象相关推荐
- Scala学习之路 (六)Scala的类、对象、继承、特质
一.类 1.类的定义 scala语言中没有static成员存在,但是scala允许以某种方式去使用static成员 这个就是伴生机制,所谓伴生,就是在语言层面上,把static成员和非static成员 ...
- Scala Case类和对象
Scala是没有Java中的switch case语法的,相对应地,scala提供了更加强大的match case 语法,即模式piper,类替代switch case,match case也被称为模 ...
- scala学习-类与对象
类 / 对象 [<快学Scala>笔记] 一.类 1.Scala中的类是公有可见性的,且多个类可以包含在同一个源文件中: 1 class Counter{ 2 private var va ...
- Scala学习 day01 Scala的类/方法/对象/单例对象
从今天开始,我将尽自己最大努力系统地学习Scala这门语言,希望自己能够坚持下去. Scala中的类 定义规则 class ClassName{//类中的成员 }在类定义里,可以放置字段和方法,这些被 ...
- 【scala】类的定义和单例对象
一.类的定义 Scala类的定义跟JAVA中类的定义基本是一样的. 示例 class ChecksumAccumulator{var sum = 0;//Scala默认关键字为publicprivat ...
- 《Scala By Examples》第6章 类和对象
先定义了一个"有理数"(rational)类: package ch6_classes_and_objects/*** 以Class的形式定义一个有理数的类型*/ class Ra ...
- Scala基础教程(七):类和对象、特征
扩展一个类: 可以扩展scala类以类似的方式,如在Java中的一样,但有两个限制:方法重载需要override关键字,只有主构造可以传递参数给基构造.现在扩展上面的类,并增加一个类的方法: clas ...
- Scala 类和对象详解
Scala 类和对象 类是对象的抽象,而对象是类的具体实例.类是抽象的,不占用内存,而对象是具体的,占用存储空间.类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板. 我 ...
- Scala中的类和对象
类的定义 使用class定义 类的字段 在类中使用var,val定义字段 类的方法 scala中,使用var定义字段默认提供setter和getter方法 对应名称为 value_= 和value 1 ...
最新文章
- EMMC型号格式查询
- php excel 导入配置,Thinkphp3.2.3整合PHPexcel进行导入导出操作
- 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题
- 奥特曼系列服务器芝庞顿,奥特曼:黑田笔下的怪兽,芝庞顿引人注目,五帝王造型诠释霸气...
- 精美的案例教你如何像杂志一样排版!
- 斜面孔如何绘制_如何才能做好钢结构厂房基础设计
- python面试100讲
- 错误代码:ERR_UNSAFE_PORT
- iOS核心动画详解swift版----基础动画
- 给android studio安装新字体,如mac系统的monaco字体
- 软考中级【数据库系统工程师】第0章:如何自学备考,考试介绍考什么,备考教材,上午和下午的体型分数分布,备考课程链接,个人备考感谢
- ryujinx模拟器linux安装教学,怪物猎人崛起 - ryujinx模拟器使用教程搬运,无机党的春天,MHR尝尝鲜 - 踩蘑菇社区...
- 单片机无线语音遥控智能车
- 世界域名后缀大全,所有国家域名后缀都有
- 用java制作扑克牌_利用java如何实现扑克牌小游戏
- 求助mac安装wind的excel插件无法使用
- 电源并联均流电路的几种最常见分析方法
- dabs是什么意思_kswl是什么意思 网络用语弹幕KSWL是什么意思含义介绍
- 石头机器人红灯快闪_5.1南宁上演“科幻大片”!各闹市街头惊现“机器人快闪”...
- 北斗定位模块成就智慧物流
热门文章
- 【 Vivado 】XDC文件的约束顺序
- 面试题编程题06-python 输入一个字符串,反转输出
- 千兆宽带:是为了速度而提升速度吗?
- 一些关于iText和iTextSharp的旧闻(some old news about iText and iTextSharp)
- 谈谈 Android MVP 架构 | 掘金技术征文
- 【Spark Summit East 2017】Kerberizing Spark
- source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面
- LSA 安装及管理应用程序
- 是‘登陆’还是‘登录’
- 用silverlight做动画-相机