属性的注意事项|学习笔记

简介: 快速学习属性的注意事项。

开发者学堂课程【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 指定类型后地址仍然为字符串。

image.png

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 var2 :Byte = _ //输出时为0

var var3 :Double = _ //输出时为0.0

var var4 :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:\program\jdk8\bin\java...

0

false

4、属性的独立性

(1)、定义

不同对象的属性是独立、互不影响的,一个对象对属性的更改,不影响另一个。此点与 java 完全相同

(2)、举例

//创建两个对象

var worker1 = new worker

worker1.name = jack

var worker2 = new worker

worker2.name = “tom

//两个对象时完全相互独立的空间

 

三、属性的高级部分

涉及到属性的重写等。属性的高级部分与构造器(构造方法/函数)相关,此部分将在构造器部分继续继续进行讲解。

相关文章
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)
MySQL数据库——视图-介绍及基本语法(创建、查询、修改、删除、演示示例)
191 0
|
9月前
|
JavaScript 前端开发 编译器
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
TypeScript【可选属性、只读属性、额外的属性检查、函数类型、类类型、继承接口】(四)-全面详解(学习总结---从入门到深化)
97 0
|
开发者 Python
继承的注意事项 | 学习笔记
快速学习继承的注意事项,介绍了继承的注意事项系统机制, 以及在实际应用过程中如何使用。
继承的注意事项 | 学习笔记
|
开发者 Python
字典使用注意事项|学习笔记
快速学习字典使用注意事项
字典使用注意事项|学习笔记
|
Java Scala Android开发
属性高级部分|学习笔记
快速学习属性高级部分。
|
Java Scala 开发者
封装注意事项|学习笔记
快速学习封装注意事项。
118 0
|
Java 数据安全/隐私保护 开发者
函数的注意事项| 学习笔记
快速学习函数的注意事项
|
Python
Python编程:类的实例动态增加属性和方法
Python编程:类的实例动态增加属性和方法
167 0
|
存储 Kotlin
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
242 0
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )