class Car1{
private var speed = 0
val color = "red"
//内部类:可以访问类的私有成员!用它来操作类的私有成员,封闭性更好!
class Engin(var maxSpeed:Int) {
def acc(): Unit = {
speed += 10
if (speed > maxSpeed) {
speed == maxSpeed
}
println("speed", speed)
}
def sub(): Unit = {
speed -= 10
}
}
override def toString: String = {
s"当前的速度是 ${speed}"
}
}
object lly {
def main(args: Array[String]): Unit = {
val c = new Car1()
var engin = new c.Engin(120)
engin.acc()
engin.acc()
println(c)
engin.acc()
println(c)
}
}
class Car3(var r:Double){
//属性
//方法
//内部类
//内部对象
object util{
val PI = 3.14
def getArea(r:Double): Double = {
PI * r * r
}
def getL():Double = {
2 * PI * r
}
}
}
object yyy {
def main(args: Array[String]): Unit = {
//使用内部对象
val car = new Car3(12)
val res = car.util.getL()
println(res)
}
}
class Car{
def run(): Unit = {
}
}
object zzx {
def main(args: Array[String]): Unit = {
// var car = new Car3()
// car.run()
//匿名类:没有名字的类!
//特点:
// 1.没有名称
// 2.代码不能重用,只能用一次!如果需要创建对象,则需要重新写一遍!
var car1 = new {
var color = "white"
def run(): Unit = {
println("run...")
}
}
var car2 = new {
var color = "white"
def run(): Unit = {
println("run...")
}
}
car1.run()
}
}