scala语法 基础2

import scala.beans.BeanProperty
/**
 * 类的基本内容
 */

class  TestStudy5 {
//   @BeanProperty var monary = 100
  var monary = 100

//   def show {
//     println("hello")
//   }
}

class TestClass42{
  private var monary = 0

  def setMonary(a:Int){  //自定义setter方法
    if(a > 0)
    this.monary = a
  }

  def getMonary = {  //自定义getter方法
    this.monary
  }

}


object Study5  extends App{

  var a = new TestStudy5()  //实例化一个类
    a.monary = 200
    println(a.monary)
//  println(a.show)

    //scala使用var定义字段 默认生成对应的setter和getter方法  对应的名称monary_= 和 monary

//  a setMonary 300
//  println(a getMonary)

    //使用val定义字段的时候  scala不在提供setter方法

    //@BeanProperty和private不能同时共用

    //  var c = new TestClass42
    //  c setMonary 1000
    //  println(c getMonary)





//class TestClass43(var name:String = "xxx" , var age:Int = 0) {  //主构造器  带参数称为默认值

//  var name:String       //需要初始化
//  var age:Int 
//  public TestClass43 {}   //java的构造器写法
 // println("name=" + name)
 // println("age=" + age)

//}

class TestClass43 {  //辅助构造器 
  var name:String = "lisi"      //需要初始化
  var age:Int = 0

  def this(name:String ){
    this()        //辅助构造器第一行要调用主构造器
    this.name = name
    println("第一个辅助构造器")
  }

  def this(name:String ,age:Int){
    this(name)    //还可以调用其他辅助构造器
    this.name = name
    this.age = age
    println("第二个辅助构造器")
  }

  println("name=" + name + " age=" + age)

  def show = {
    "name!=" + name + " age!=" + age
  }
}

object Study6  extends App{

 var c = new TestClass43("wangwu",90)
//  println("name=" + c.name)
//  println("age=" + c.age)

    println(c.show)


}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值