参考哔哩哔哩https://www.bilibili.com/video/av76280600?from=search&seid=10529351688409433389
1.数据类型
与Java类似,区分大小写;(首字母大写)
不同点:
Unit表示无值,与Java的void等同;
Nothing所有其他类型的子类型,表示没有值;
Any所有类型的超类,任何实例都属于Any类型;很像object
Nil长度为0的List;
2.val 和 var
Scala中定义变量用var
Scala中定义变量用val;
尽量使用val易于回收;
/** * Scala object相当于Java中的单例,object中定义的全是静态的 * 定义变量var,定义常量val;变量和常量类型可以省略不写,会自动推断; * 每行后面有分号自动推断机制,不用显示写“;” */ object Test_ClassAndObj { def main(args: Array[String]): Unit = { val a = 1 var b=2 b = 3 println(a+b) } }
3.Scala类中可以传参,传参一定要指定类型,有了参数就有了默认了构造。类中属性默认有getter和setter方法
class Student(sname :String,sage:Int){ val name=sname val age=sage } object Test_ClassAndObj { def main(args: Array[String]): Unit = { val t=new Student(sname="tzk",sage=20) println(t.name) } }
4.Scala中 object相当于Java中的单例,object中定义的全是静态的,相当于Java中的工具类
class Student(sname :String,sage:Int){ val name=sname val age=sage def play(): Unit ={ println("使用object中定义的静态变量str:"+Test_ClassAndObj.str) } } object Test_ClassAndObj { val str="Hello Word" def main(args: Array[String]): Unit = { val t=new Student(sname="tzk",sage=20) //println(t.name) t.play() } }
原文:https://www.cnblogs.com/sengzhao666/p/12248851.html