scala中类的简单使用记录

import scala.collection.mutable.ArrayBuffer

/**
  * scala 中内部类的使用
  */
class Classes {

  class Stu(name:String , age:Int) {}
  val stus = new ArrayBuffer[Stu]
  def getStu(name:String) = {
    new Stu(name , 0)
  }
}

object ClazTest{

  def main(args: Array[String]): Unit = {
    // 需要注意
    val c1 = new Classes
    val stu1 =c1.getStu("yxj")
    c1.stus += stu1

    println(stu1)

    val c2 = new Classes
    val stu2 = c2.getStu("yxj")
    c2.stus += stu2

    println(stu2)
    // 下面将类stu1添加到c2中是不允许的,会报错
    // c2.stus += stu1
    // 他们toString时打印的hashcode是不同的
    // [email protected]
    //[email protected]

  }

}

  

/**
  * scala 中类的使用
  */
class HelloWorld {

  var sex = ""

  private var name = "yxj"
  def sayHello(): Unit ={
    println("hello " + name)
  }

  def getName = name

}

object HelloTest {

  def main(args: Array[String]): Unit = {
    val hello = new HelloWorld
    hello.sayHello()

    hello.sex = "male";
    println(hello.sex)

    val s1 = new Student
    s1.age = 30
    val s2 = new Student
    s2.age = 20
    println(s1.older(s2)) // 返回true

    // 使用 private[this] myage 只能在本类中使用,

  }

}

  

class Student {

  private var myAge = 0

  def age_=(newAge : Int): Unit ={
    if(newAge > myAge) myAge = newAge
    else println("illegal age!!!")
  }

  def age = myAge

  def older(s : Student) = {
    myAge > s.myAge
  }

}

  

import scala.beans.BeanProperty

class LikeJavaClaz {
  @BeanProperty var name = ""

}

object LikeJavaClazTest {

  def main(args: Array[String]): Unit = {
    val likeJavaClaz = new LikeJavaClaz
    likeJavaClaz.setName("yexj")

    println(likeJavaClaz.name)
    println(likeJavaClaz.getName)

  }

}

  

原文地址:https://www.cnblogs.com/yxj0728/p/9281801.html

时间: 2024-08-01 19:37:24

scala中类的简单使用记录的相关文章

scala中函数简单使用记录

object funcHighLevel { def main(args: Array[String]): Unit = { // 创建一个匿名函数 val sayFunc = (name: String) => println("hello ," + name) // 定义一个方法传入一个函数 def greeting(func: (String) => Unit, names: String) { func(names) } // 在定义一个 name,age是参数 v

[编程题] 简单错误记录

开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符:(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 文件路径为window

Settings app简单学习记录

Settings是android系统设置的入口.主界面由Settings.java以及settings_headers.xml构成. Settings类继承自PreferenceActivity,而PreferenceActivity又继承自ListActivity,ListActivity拥有ListView和ListAdapter类型的成员变量. 1,如何使用PreferenceActivity构建页面 使用addPreferencesFromIntent或者addPreferencesFr

27:简单错误记录SimpleErrorLog

题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: 2. 超过16个字符的文件名称,只记录文件的最后有效16个字符: 3. 输入的文件可能带路径,记录文件名称不能带路径. 输入描述:一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 输出描述:将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如: 输入例子: E:

php简单日志记录脚本

自己的站点经常被搜索引擎爬到,想知道搜索引擎和来访者都对哪些内容比较感兴趣,于是写了一个简单的日志记录"系统",来记录来访者的信息. 分为三个文件,record.php,log.php,conn.php conn.php是数据库连接文件,调用该文件返回一个mysql的数据库读写接口: log.php是后台,可以从这里看到记录在数据库中的内容: record.php是记录访客用的脚本,在任意页面包含该脚本,即可实现对于来访者的记录. 代码如下: conn.php: <?php #c

[华为机试练习题]36.简单错误记录(错误 求正解)

题目 描述: 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: 2. 超过16个字符的文件名称,只记录文件的最后有效16个字符: 3. 输入的文件可能带路径,记录文件名称不能带路径. 题目类别: 字符串 难度: 中级 运行时间限制: 10Sec 内存限制: 128MByte 阶段: 入职前练习 输入: 一行或多行字符串.每行包括带路径文件名称,行号,以空格

简单错误记录

简单错误记录 题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符:(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开.

测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录

笔者所在的项目组使用的缺陷管理工具是HP的QC11,作为测试人员,为了与开发一起跟随Bug的一生,简单的写了使用流程,这里记录一下,主要是让开发人员熟悉一下. 首先使用账户登录QC,如地址: http://192.168.28.58:8080/qcbin/start_a.jsp 一般管理者都会为项目所有人员建立登录名,这里填写登录信息,如下: 登录成功后,拥有不同身份,所拥有的权限不一样,点击缺陷就可以看到我们测试提的Bug了. 接着简单排下版,选择重要的你需要看到的字段.如图点击确定 如何筛选

jdb调试scala代码的简单介绍

在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都是一样的,只是需要注意一些细节的地方就可以了.下面就来简单说明一下.在这里关于scala和jdk的配置问题就不再详述了,下面进入正题吧. 首先放上调试用的scala代码hello.scala object hello { def main(args: Array[String]): Unit = {