scala/ScalaBook/chapter-02/InnerClasses.scala
class BankAccount(val number : Long) {
private var balance = 0L
private var lastAct: Action = null
val act = "hoho!"
class Action(val act: String, val amount: Long) {
override def toString =
number + ": " + act + " " + amount + (BankAccount.this.act)
}
def deposit(amount: Long) {
balance += amount
lastAct = new Action("deposit",amount)
}
def withdraw(amount: Long) {
balance -= amount
lastAct = new Action("withdraw",amount)
}
def getLastAct = lastAct.toString
}
var x = new BankAccount(1234445556)
x.deposit(400)
println("++++++++++++++++++++++++")
println(x.getLastAct)
println("++++++++++++++++++++++++")
println(x.act)