设为首页 加入收藏

TOP

6. Scala面向对象编程(基础部分)(三)
2019-08-15 00:11:00 】 浏览:126
Tags:Scala 面向 对象 编程 基础 部分
Java工具(框架)都依赖这个命名习惯。为了Java的互操作性。将Scala字段加@BeanProperty时,这样会自动生成规范的setXxx/getXxx方法。这时可以使用 对象.setXxx()和 对象.getXxx()来调用属性

      注意:给某个属性加入@BeanPropetry注解后,会生成getXxx和setXxx的方法,并且对原来底层自动生成类似xxx(),xxx_$eq()方法,没有冲突,二者可以共存

import scala.beans.BeanProperty

object boke_demo01 {

  def main(args: Array[String]): Unit = {
    val car = new Car
    car.name = "宝马"
    println(car.name)

    //使用 @BeanProperty 自动生成 getXxx 和 setXxx
    car.setName("奔驰")
    println(car.getName())
  }
}

class Car {
  @BeanProperty var name: String = null
}

6.5 Scala对象创建的流程分析 

  6.5.1 看一个案例  

class Person {
  var age: Short = 90
  var name: String = _

  def this(n: String, a: Int) {
    this()
    this.name = n 
    this.age = a
  }

}

var p: Person = new Person ("小倩", 20)

  6.5.2 流程分析(面试题-写出) 

      1) 加载类的信息(属性信息,方法信息)

      2) 在内存中(堆)开辟空间

      3) 使用父类的构造器(主和辅助)进行初始化

      4) 使用主构造器对属性进行初始化[age:90, name:null]

      5) 使用辅助构造器对属性进行初始化[age:20, name:小倩]

      6) 将开辟的对象的地址赋给p这个引用

 

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2. Scala变量 下一篇7. Scala面向对象编程(中级部分)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目