一:简单的编程
1.scala的简单编程
1 package er 2 3 class People{ 4 var name:String=""; 5 val age:Int=10; 6 def eat():String={ 7 name+" eat..."; 8 } 9 def watchFootBall(teamName:String):String={ 10 name+" is watch match of "+teamName; 11 } 12 } 13 object two { 14 def main(args: Array[String]): Unit = { 15 var people =new People; 16 people.name="tom"; 17 println("name="+people.name); 18 println("age="+people.age); 19 println(people.eat()); 20 println(people.watchFootBall("zhongguo")) 21 } 22 }
2. 效果
3.构造方法
主构造方法,辅助构造方法。
辅助构造函数是在主构造函数没有的情况下,执行的构造函数。
调用对象的时候会调用主构造方法。
辅助构造方法必须去调用主构造方法
1 package er 2 3 class People2(val name:String,val age:Int){ 4 //************辅助构造函数********** 5 def this(name:String){ //* 6 this(name,0) //* 7 } //* 8 def this(age:Int){ //* 9 this("xx",age) //* 10 } //* 11 //************辅助构造函数********** 12 def sayHello()=println("name:"+name+",age:"+age) 13 } 14 object thrid { 15 def main(args: Array[String]): Unit = { 16 val people=new People2("zhangsan",10); 17 people.sayHello(); 18 } 19 20 }
4.效果
二:半生类与半生对象
1.object的介绍
2.半生类和半生对象
3.半生的案例程序(半生类可以调用半生)
1 package er 2 3 class Thrid(val name:String,val age:Int){ 4 private val eyeNum:Int=2; 5 def this(name:String){ 6 this(name,0) 7 } 8 def this(age:Int){ 9 this("xx",age) 10 } 11 def sayHello()=println("name:"+name+",age:"+age) 12 } 13 object Thrid { 14 def main(args: Array[String]): Unit = { 15 val thrid=new Thrid("zhangsan"); 16 //直接调用半生类中的属性 17 println("eyeNum is : "+thrid.eyeNum); 18 } 19 20 }
4.效果
5.apply方法
一种简单的创建class的方式。
6.apply的程序示例
1 package er 2 class Four(name:String){ 3 def say()=println("name is "+name); 4 } 5 object Four { 6 def apply(name: String): Four = new Four(name) 7 def main(args: Array[String]): Unit = { 8 //因为使用了apply方法,其实apply是在new对象,所以下面就不要再new了 9 var a=Four("uiui") 10 a.say 11 } 12 }
7.效果
8.get与set方法
9.不会产生公共的get与set方法
当权限是private的时候
产生 的set与get方法是private的,只能在类的内部使用。
10.val定义的字段
val定义的字段,只会生成getter,因为他的值是不会变的。
11.class中的介绍
在主构造方法执行的时候,会执行类中的所有语句,除了方法,相当于构造器
如果参数的声明不带val或者var,那么相当于private,只能在内部使用