Scala学习笔记1
Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。
SCALA基本概念
对象- 对象有属性和行为。
类 - 类是对象的抽象,而对象是类的具体实例。
方法 - 方法描述的基本的行为,一个类可以包含多个方法。
字段 - 每个对象都有它唯一的实例变量集合,即字段。对象的属性通过给字段赋值来创建。
注意事项
区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义。
类名 - 对于所有的类名的第一个字母要大写。
方法名称 - 所有的方法名称的第一个字母用小写。
程序文件名 - 程序文件的名称应该与对象名称完全匹配。
def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。
标识符
Scala 可以使用两种形式的标志符:字符数字和符号。
字符数字使用字母或是下划线开头,后面可以接字母或是数字。
符号标志符包含一个或多个符号,如+,:,? 等
符号“ ”在Scala中也看作为字母,但应用程序应该避免使用" ”开始的标识符,以免造成冲突。
Scala 采用类似Java的 命名规则,首字符小写,比如 toString
注释
Scala 类似 Java 支持单行很多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略。
/* 这是一个 Scala 程序
*这是一行注释
*/
object HelloWorld {
def main(args: Array[String]) {
println("HelloSpark!")
val s ="Hello 变量!";print(s)
}
}
这段代码就展示了scala是面向行的特性,语句可以用分号(;)结束或换行符。
变量声明
变量声明:
var A : String = "java"
常量声明:
val B : String = "HAHAH"
在Scala中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
多个变量声明:
Scala 访问修饰符
Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。
如果没有写访问修饰符,默认是public。
private:
class Outer {
class Inner{
private def p() {println("Hello Inner")}
class InnerMo{
p()//可以
}
p()//没有报错
}
p()//报错了
}
Protected:
它只允许保护成员在定义了该成员的的类的子类中被访问
class Pa{
protected def x(){println("Hello Pa")}
}
class Son extends Pa{
x() //没有报错
}
class Other {
x() //报错了
}
作用域保护
限定了类和方法在哪个范围可以使用
格式为:private[x] 或 protected[x]
X可以表示为某个包
private[x]就表示某个包下可见
内部类 | 自己的包 | 子类 | 外部包 |
---|---|---|---|
public | T | T | T |
private | T | F | F |
protected | T | F | T |