1 编写一个BankAccount类,加入deposit和withdraw方法,和一个只读的balance属性?
class BankAccount(val balance:Int = 0){
def deposit(){}
def withdraw(){}
}
2 class中的apply方法和object中的apply方法有什么区别?
apply()经常使用在初始化一个对象上面,相当于把初始化object的名字加上(),
如:val a = ApplyTest()
object的apply()
“val a = ApplyTest()”的使用会导致apply方法的调用并返回该方法调用的值,也就是ApplyTest的实例化对象
calss的apply()
val a = new ApplyTest()
a()对象+括号,调用的是类的apply()方法
3 写出以下Java代码的Scala版本
for(int i=0;i<10;i++) System.out.println(i)
clas myCount {
def test : Unit = {
for(i <- 0 to 10){
println(i)
}
}
}
object homework extends App{
val c = new myCount
c.test
}
4 Scala预先引入了哪些包?
java.lang 、scala 、Predf、集合(List/Set/Map…) 、。。。。
5 编写一个包含100个随机数字(Int型)的List,通过map将此List中所有成员乘以2,接下来用filter把所有的偶数找出来。
class myMap{
def test = {
val l = List.fill(100)(scala.util.Random.nextInt(101)).map(_ * 2).filter( _ % 2 == 0)
println(l)
}
}
object homework extends App{
val m = new myMap
m.test
}
6 定义一个抽象类Shape,一个抽象方法centerPoint,以及该抽象类的子类Rectangle和Circle。为子类提供合适的构造器并且重写centerPoint方法。