1.类
- 类的定义
class Counter{
//这里定义类的属性和方法
}
属性定义:
用val或者var关键字进行定义
方法定义:
用def关键字进行定义
class Counter {
var value =0
def increment(step:Int):Unit= {value +=step}
def current():Int= {value }
}
使用new关键字来创建一个类的实例
val myCounter= new Countermy
Counter.value=5 //访问属性
myCounter.increment(3) //调用方法
println(myCounter.current) //调用无参数方法可省略括号
- 类成员的可见性
1.Scala类中所有成员的默认可见性为公有,任何作用域内都能直接访问公有成员
2.除了默认的公有可见性,Scala也提供private和protected,其中,private成员对本类和嵌套类可见;protected成员对本类和其继承类可见
- 方法的定义方式
基本语法:def 方法名 (参数列表):返回结果类型={方法体}
- 方法参数前不能加上val或var,所有的方法参数都是不可变类型;•无参数的方法定义时可以省略括号,这时调用时也不能带有括号;如果定义时带有括号,则调用时可以带括号,也可以不带括号;
- 如果方法只有一个参数,可省略点号(.)采用中缀操作符调用方法 •如果方法体只有一条语句,可以省略方法体两边的大括号
2.对象
- 单例对象
•Scala采用单例对象实现与Java静态成员同样的功能
•使用object关键字定义单例对象
object Person {
private var lastId = 0//一个人的身份编号
def new PersonId() ={
lastId +=1
lastId
}}
- 伴生对象和孤立对象
• 当一个单例对象和它的同名类一起出现时,这时的单例对象被称为这个同名类的“伴生对象”。相应的类被称为这个单例对象的“伴生类”
•特点:类和它的伴生对象必须存在于同一个文件中,可以相互访问私有成员
•没有同名类的单例对象,被称为孤立对象。