package YXH object YXH { //1.创建类 class Person1{} class Person2 //空类可以省略{} //3.成员变量 class Person3{ var name = "" //=后面表示创建对象之后的初始值 var age = 0 //类型自动推断 var sex:String = _ //成员变量的初始值可以用"_"表示但是变量类型要明确指明 //5.成员方法(函数) def showMe(): Unit = { println(name,age,sex) } } //构造器 class Person4(name:String = "zhangsan" , age:Int = 21){ //7.主构造器 } //9.单例对象 object Person5{ var STU = "NNU" } //11.伴生类和伴生对象 object GirdFriend{ private var age = "18" } class GirdFriend{ def show():Unit ={ println(GirdFriend.age) //私有成员可以相互访问 } } def main(args: Array[String]): Unit = { //8.测试构造器 var p4 = new Person4() //10.测试单例对象 println(Person5.STU) //类似java的静态成员,可以直接通过类来访问 //非静态成员,必须先创建对象,再通过对象访问 var p5 = new GirdFriend //12.伴生对象的测试 p5.show() //2.创建类对象 var p1 = new Person1 //println(p1) // 4.成员变量初始值 var p2 = new Person3 // println(p2.name,p2.age) //6.成员方法的使用 p2.name = "张三" p2.age = 18 p2.sex = "女" var p3 = new Person3 p3.name = "李四" p3.age = 20 p3.sex = "男" p2.showMe() p3.showMe() } }