点个赞吧

28 阅读1分钟
package level02

object Class14 {
  // 抽象类
  abstract class DreamJob {
    var money: Double // 只有属性名,没有具体的值。
    var vacation: Int
    var boss: String
  }

  // 子类:具体类
  class PE extends DreamJob {
    var money: Double = 14500
    var vacation: Int = 4
    var boss: String = "无人"
  }

  object Main {
    def main(args: Array[String]): Unit = {
      // new DreamJob() // 报错
      val pe1 = new PE()
      println(pe1.money)
    }
  }}
package level02

object Class14 {
  abstract class DreamJob {
    // 抽象属性
    var money: Double // 只有属性名,没有具体的值。
    var vacation: Int
    var boss: String
    // 具体属性
    var name: String = "理想工作"

    // 抽象方法。没有等号,就是一个抽象的方法。它需要在子类中去实现
    def addMoney(): Unit

    // 具体方法
    def getMoney(): Unit = {
      println(s"发工资:${money}元")
    }
  }

  // 子类:具体类
  class PE extends DreamJob {
    var money: Double = 14500
    var vacation: Int = 4
    var boss: String = "无人"

    def addMoney(): Unit = {
      money *= 1.1
    }
  }
  def getMoney():Unit = {
    println(s"上银行卡:${money}元")
  }

  private val money = 11

  def main(args: Array[String]): Unit = {
      // new DreamJob() // 报错
      val pe1 = new PE()
      pe1.addMoney()
      pe1.getMoney()
    }
  }
package level02

object Class15 {
  class C1 {
    class B1 {
      def say(): Unit = {
        println("B1.....")
      }
    }
  }

  object Main {
    def main(args: Array[String]): Unit = {
      // 1. 创建一个C1的对象
      val c1 = new C1()
      // 2. 创建一个B1的对象
      val b1 = new c1.B1()
      b1.say()
    }
  }}