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是不同的
// classes.Classes$Stu@5c7fa833
//classes.Classes$Stu@39aeed2f } }

  

/**
* 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) } }

  

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

  1. scala中函数简单使用记录

    object funcHighLevel { def main(args: Array[String]): Unit = { // 创建一个匿名函数 val sayFunc = (name: Stri ...

  2. 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感

    上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...

  3. Python简单爬虫记录

    为了避免自己忘了Python的爬虫相关知识和流程,下面简单的记录一下爬虫的基本要求和编程问题!! 简单了解了一下,爬虫的方法很多,我简单的使用了已经做好的库requests来获取网页信息和Beauti ...

  4. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  5. Oracle触发器简单入门记录

    写在前面: 最近,老项目新增了日报优化的需求,丽姐让我用触发器去实现当数据插入或者更新的时候,实现对日报表数据更新操作.嗯嗯嗯呢,之前学习数据库的时候,有碰到过触发器,但都是一跳而过,也没怎么去真正的 ...

  6. 27:简单错误记录SimpleErrorLog

    题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: ...

  7. percona-toolkit 3.0.13 简单安装记录

    percona-toolkit 3.0.13 简单安装记录 环境:centos6.x mysql:8.0.17 yum -y install perl-DBIyum -y install perl-D ...

  8. scala中Tuple简单使用

    /** * Tuple简单使用记录 * 最大22个参数 */ object TupleUse { def main(args: Array[String]): Unit = { // 简单Tuple ...

  9. jdb调试scala代码的简单介绍

    在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都 ...

随机推荐

  1. true - (成功的)什么都不做

    总览 (SYNOPSIS) true [忽略命令行参数] true OPTION 描述 (DESCRIPTION) 程序 结束 时, 产生 表示 成功 的 状态码. 下列的 选项 没有 简写 形式. ...

  2. pandas读书笔记 算数运算和数据对齐

    pandas最重要的一个功能是,它可以对不同索引的对象进行算数运算.在对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集. Series s1=Series([,3.4,1.5],ind ...

  3. Dockfile中的命令如何在.sh中执行

    有类似如下内容的Dokefile文件.1 RUN cd /tmp/patch \ && /lib/python3./site-packages/moduleA/a.* \ && ...

  4. jq-demo-tab切换

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Java new和getInstance

    下面是一个例子,为什么要把这个类实例化?有什么好处? //实例化 public static DBConnect instance; public static DBConnect getInstan ...

  6. 使用jQuery对象

    1基本行为 * size()/length: 包含的DOM元素个数 * [index]/get(index): 得到对应位置的DOM元素 * each(): 遍历包含的所有DOM元素 * index( ...

  7. NX二次开发-NXOpen窗口打印NXMessageBox&ListingWindow

    NX9+VS2012 #include <NXOpen/NXObject.hxx> #include <NXOpen/Part.hxx> #include <NXOpen ...

  8. Unity中的值传递与引用传递

    1. 值类型 值类型变量本身保存了该类型的全部数据,当声明一个值类型的变量时,该变量会被分配到栈(Stack)上. 2. 引用类型 引用类型变量本身保存的是位于堆(Heap)上的该类型的实例的内存地址 ...

  9. ssh 私钥和公钥 参考的linux就该这么学

  10. 杂项:ionic

    ylbtech-杂项:ionic ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化html.css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS ...