专业的JAVA编程教程与资源

网站首页 > java教程 正文

scala基础学习(三)_scala语言基础

temp10 2025-10-02 07:46:42 java教程 1 ℃ 0 评论

scala是面向对象和函数式编程的集合体,应该说是比java要更基于对象的语言,官网说scala是纯面向对象的语言,因为它的每一个值都是对象,而每一个操作符都是方法。今天的学习内容就是scala的类和对象。

11、类和对象

scala基础学习(三)_scala语言基础

类(Class)包括成员变量和方法,在scala中所有的成员变量需要初始化,否则将认为这个类是抽象类,对于所有的成员变量都有默认设置了getter和setter方法,公有的成员变量的getter和setter方法是共有的,私有的成员变量的getter和setter方法是私有的。 例如对于name生成的getter名为name,setter名为name_。如果成员变量是val声明的那么成员变量将只有getter方法而没有setter方法,这很好理解。在scala中默认的访问权限是public,这里有别去java的包访问权限。另外在scala中不推荐使用return,推荐使用最后一个表达式的值来作为方法的返回值,另外从上图可以看到,语句的结尾是否有分号是不影响的。对python的使用者来说,这真是个福音。

说到类就必须得说到构造器,在scala中可以有一个主构造器和多个辅助构造器。

主构造器在类名后加入参数,注意scala中的参数都为val,如果没有显示的构造函数,则和java一样将会生成一个空的构造器。所有的辅助构造器都是以this为名字,并且它们必须调用主构造器或者辅助构造器。同时注意到辅助构造器的参数是不能加val声明的,不然编译不通过。如果要想像java在class中直接运行main函数则在class中是不行的,必须在object中。

对象(object)可以单独存在,也可以和类一起存在,如果一起存在那么对象叫做伴生对象,类叫做伴生类。两者的名字相同,而且必须在同一个源文件中。这样伴生类可以访问伴生对象的私有变量。在scala中类是不能生成static类型的变量和方法的,要实现这些功能则只能在object中实现。




伴生对象和类的差别是它不带参数,因为伴生对象不是用new来实例化的,没有机会传递参数,对象都是在第一次访问的时候才会被初始化。对象常常被单独使用,这时候称它们为独立对象,它们有时被用在一些方法的工具类,有时被用在应用的入口。

今天的大事件:阿法狗战胜了李世石,在这里恭喜阿法狗获得胜利!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表