一、类的声明
类是现实世界或思维世界中的实体在计算机中的反映,类是一个抽象的概念,没有生命,不占用空间,由方法和属性组成。对象是类的具体实例,具有生命,占用空间,可以访问类中定义的属性和方法,在面向对象中有种说法叫“万物皆对象”。
Scala 中类的定义也是通过class 关键字实现,不过它的类是公有可见性的(不能声明为public),其属性也必须在声明的同时赋值,一个Scala 源文件中可以有多个类。FirstClass 类的声明如下:
二、对象的创建
Scala 对象的创建需要使用new 关键字,格式如下:
new 类名 或 new 类名(参数)
创建完对象,就可以通过对象名.方法名访问,如:
scala> val obj1 = new FirstClass
obj1: FirstClass = FirstClass@a7ae1a5
scala> obj1.sayHello
Hello, Scala
scala> obj1.getAge
res42: Int = 1
随着代码量的增多,命令行模式不利于调试,可以将上述代码放入scala 文件中执行,而且一个Scala 源文件中可以有多个类,如图7-22 所示:
(www.daowen.com)
图7-22 FirstClass.scala
FirstClass.scala 文件的运行如图7-23 所示:
图7-23 运行FirstClass.scala
需要注意的是命令"scala FirstClass.scala"的执行是在Windows cmd 或Linux shell下执行,不能在scala 命令提示符执行(也可以通过:load 命令在其下执行),如图7-24 所示:
图7-23 命令行模式下运行FirstClass.scala
三、访问权限
Scala 有四种访问权限修饰符:
(1)private:仅类自身的方法可以访问。
(2)protected:仅类自身和派生类的方法可以访问。
(3)public:所有方法都可以访问,默认访问权限。
(4)private[this]:对象私有字段,只允许所属对象访问,该类其他对象无法访问。类的所有对象可以访问private 修饰的私有属性,而private[this]则不允许,如:
之所以访问other.age 是合法的,是因为othert 也同样是Demo1 对象,但如果将age 权限设置为private[this],则会提示如下错误:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。