/*object: 关键字,声明一个单例对象(伴生对象)Scala为了实现纯面向对象,删除了static关键字,使用object实现static的功能*/object HelloScala {/*main方法:从外部可以直接调用def 方法名称(参数名称:参数类型):返回值类型 = {方法体}不用分号*/def main(args: Array[String]): Unit = {println("hello scala");// 也可以直接调用javaSystem.out.println("hello scala from java");}}
编译:
>scalac HelloScala.scala 生成 HelloScala.class 和 HelloScala$.class(存放伴生对象的所属类)
运行:
>scala HelloScala
伴生对象
class Student(name: String, age: Int) {def printInfo(): Unit = {//school属性在java中可以设置为Student的static属性,直接用类.的方式调用,但是不够面向对象//因此在Scala中,创建伴生对象object(唯一创建)print(name + " " + age " " + Student.school)}}//引入同名伴生对象,可以互相访问其中的各种属性和方法object Student {val school: String = "NJU"def main(args: Array[String]): Unit = {var alice = new Student("Alice", "18")alice.printInfo()}}
