• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

ScalaAi

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

scala02-2021.7.9-基础篇-this

今天有空继续研究了一下Scala,不多说上code

package chapter01

class student {
      var name =" ";
      var age =" ";
      val school ="辽宁林业职业技术学院";

   def `print` (name:String,age:String):Unit={
     println(name+" "+this.age+" "+this.school)
   }

}

  

package chapter01

object HelloWorld {
  def main(args: Array[String]): Unit = {
//    println("hello world")
//    System.out.println("hello scala from java")
  val student = new student()
    student.`print`("何喵喵","18")

  }
}

  这段代码会因为this.age  把age 指向class下定义的 age=“ ”;

解决方案:

package chapter01

object HelloWorld {
  def main(args: Array[String]): Unit = {
//    println("hello world")
//    System.out.println("hello scala from java")
  val student = new student()
    student.`print`("何喵喵","18")

  }
}

  

package chapter01

class student {
      var name =" ";
      var age =" ";
      val school ="辽宁林业职业技术学院";

  def `this`(name:String,age:String):Unit={
    this.name=name
    this.age=age
  }
   def `print` (name:String,age:String):Unit={
     `this`(name,age)
     println(this.name+" "+this.age+" "+this.school)
   }

}

  直接曲线救国

 

另附方法2:

 

package chapter01

class student (var name:String,var age:String){
      val school ="辽宁林业职业技术学院";

//  def `this`(name:String,age:String):Unit={
//    this.name=name
//    this.age=age
//  }
   def `print` ():Unit={
//     `this`(name,age)
     println(this.name+" "+this.age+" "+this.school)
   }

}

  

package chapter01

object HelloWorld {
  def main(args: Array[String]): Unit = {
//    println("hello world")
//    System.out.println("hello scala from java")
  val student = new student("何喵喵","18")
    student.`print`()

  }
}

  直接在类上解决

 

posted on 2021-07-09 22:58  ScalaAi  阅读(47)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3