Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。
Scala 特征
·类和对象: Scala 支持类和对象,可以定义属性和方法。
·继承和多态: 支持类的继承和多态,可以创建层次结构和重用代码。
·抽象类和特质: 可以定义抽象类和特质(traits),用于定义接口和实现部分行为。
·封装: 支持访问控制修饰符(public、protected、private),实现数据的封装。
泛型类
·协变和逆变
·标注
·类型参数的上下限约束
·把类别和抽象类型作为对象成员
·复合类型
·引用自己时显式指定类型
·视图
·多态方法
Scholar 与 Java 的对比
Scholar 语言代码更简洁,开发速度更快。Scholar 语言可以无缝调用 Java 代码,并使用 Java 标准库和框架。Scholar 语言的表达能力强,一行代码可以抵得上 Java 的多行代码。
Scholar 基本语法
区分大小写:标识符、类名、方法名、变量名等都需要区分大小写。
类名和方法名:类名的第一个字母大写,方法名的第一个字母小写,多个单词时每个单词的首字母大写。
程序文件名:必须与对象名称完全匹配,并追加 .scala 扩展名。
主函数:程序从 main 方法开始处理,类似于 Python 中的主函数。
标识符:可以以字母或下划线开头,后续可以接字母或数字,避免使用 $ 开头的标识符。
标识符相关
标识符包含一个或多个符号,如加号、问号等。内部实现可能使用转义标识符,Java 代码中谎用该方法可使用内部名称避免歧义。还提到混合标识符、字符数字标识符后续跟符号的情况,以及在双引号间使用有效标识符的相关内容。
符号标志符包含一个或多个符号,如+,:,? 等
关键字定义变量名称时要避开,如 if、do、case 等,否则会产生歧义。
注释注释有单行和多行两种。
多行注释可嵌套且必须正确嵌套,以“/”开始,“/”结束;
单行注释为“//”。
空行、空格和换行符
一行中只有空格或注释会被忽略。语句可用空格或注释分割,换行符和分号都可结束语句,分行写多个语句时需分号分隔,一行一个语句可不加分号。
包的定义和引用
定义包可用“package”关键字,有在文件头定义和类似 city 的方式两种,推荐后者可在文件夹中定义多个包。引用包用“import”关键字,可出现在任何地方,效果延伸至语句块结束,能减少名称冲突可能,但要尽量避免变量名与包名、类名相同以保证唯一性。
总结Scholar 语言具有简洁、高效、可扩展等特性,适用于大数据和并发编程。Scholar 语言的基本语法与 Java 类似,但有一些独特的特性和规则。通过交互式编程和脚本形式,可以快速上手和测试 Scholar 代码。