Java和scala比较
特点
代码入门
object HelloWorld{ //object:申明一个单例对象(伴生对象)
def main(args: Array[String]) : Unit = { //def 方法名称(参数名称:参数类型):返回值类型 (Unit这里表示返回空) = {方法体}
println("Hello World")
System.out.println(""Hello World")
}
}
//scalac 编译之后 scala 运行和java方式一致
//scala代码编译后会生成HelloWorld$.class (伴生对象的所属类)和HelloWorld.class(伴生类),当运行HelloWorld.class时,就是调用HelloWorld$.class内单例对象HelloWorld的main方法,HelloWorld$.class import了scala的包
// scala 没有直接字段static,如何实现java静态的功能?对类本身静态生成该类的单例对象,然后调用改对象方法实现静态
class Student(name: String, age: Int){
def printInfo():Unit = {
println(name + " " + age + Student.school)
}
}
object Student{ //引入伴生对象
val school:String = "xuexiao"
def main(args: Array[String]) : Unit = {
val alice = new Student(name = "alice", age = 20) // val 代表常量,值不会变动相当于java的final int。var 代表变量,值会改动,相当于java的int
alice.printInfo()
}
}
变量要求
其他用法和java基本无异,直接略过
函数式编程
函数式编程讲解
一切都围绕映射返回值的思想,可以通过参数传递函数,不断循环



