开发者学堂课程【Scala 核心编程-基础:属性的注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/609/detail/8942
属性的注意事项
内容简介:
一、属性的定义
二、属性的使用
三、属性的高级部分
一、属性的定义
1、属性的定义基本语法如同变量
两者等同,但此对象放在类之中
(1)、访问修饰符
在不编写访问修饰符的情况下,其本身默认存在,仅是提供两个公开方法使其感觉为公有。
(2)、属性名称
var 属性名称[:类型]中,[:类型]可省略
演示
var name =
“
jack
”
//此处可不进行 string 的编写,可使用类型推导
2、属性值属性的定义类型
属性值属性的定义类型可以为任意类型,包含值类型或引用类型
二、属性的使用
1、scala 属性的声明
Scala中声明一个属性,必须显示的初始化,然后根据初始化数据的类型自动推断,属性类型可以省略(java 必须指定类型)。
2、null 值
如果赋值为 null,则一定要加类型,若不添加类型,那么该属性的类型就是 Null 类型,即系统将会报错。
(1)、实例
class Person{
var age :Int = 10
var sal= 8090.9
//给属性赋初值,省略类型, 会自动推导
var Name = null
//Name 是什么类型
//此处 Name 的使用方法将会报错
var address:String = null
//address 是什么类型
//此处由于指定了类型,故而为正确的使用方法
val p1 = new Person
p1.
当前情况下 address 为 string,Name 为空(null),但 address:String 指定类型后地址仍然为字符串。
println(p1.Name) //null
(2)、区别
将 null 交予一个指定类型的属性,其仍然为字符串。
例子
println(p1.Name) //null
println(p1.
address
)
//字符串类型
3、_的使用
(1)定义
如果在定义属性时暂时不复制,也可使用符号_(下划线)让系统分配默认值。
类型 |
_对应的值(默认) |
Byte Short Int Long(整型) |
0 |
Float Double(小数) |
0.0 |
String和引用类型 |
null |
Boolean |
false |
(2)、实例
class A {
var var1 :string = _ //输出时为null
var var
2
:
Byte
= _
//输出时为0
var var
3
:
Double
= _
//输出时为0.0
var var
4
:
Booolean
= _
//输出时为false
(3)、证明
证明 var1
var a = new A
print(a.var1) //证明此处为Null或空串“”
}
}
//进行运行
D:\program\jdk8\bin\java...
null
证明 var2
print(a.var2) //证明此处为0
print(a.var4) //证明此处为 false
//进行运行
D:\progra
m\
jdk
8\
bin\java...
0
false
4、属性的独立性
(1)、定义
不同对象的属性是独立、互不影响的,一个对象对属性的更改,不影响另一个。此点与 java 完全相同
(2)、举例
//创建两个对象
var worker1 = new worker
worker1.name =
“
jack
”
var worker2 = new worker
worker
2
.name = “
tom
”
//两个对象时完全相互独立的空间
三、属性的高级部分
涉及到属性的重写等。属性的高级部分与构造器(构造方法/函数)相关,此部分将在构造器部分继续继续进行讲解。