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. 我只会用threading,我菜

    #服务端 import socket import threading # import multiprocessing server=socket.socket(socket.AF_INET,soc ...

  2. 如果手工启动chromedriver

    使用selenium模拟登陆网站时,有些网站会识别chrome driver里的json信息,从而判断是不是爬虫程序,做到反爬效果.(比如知乎) 下面说明下怎么手动启动chromedriver 1). ...

  3. (数据科学学习手札58)在R中处理有缺失值数据的高级方法

    一.简介 在实际工作中,遇到数据中带有缺失值是非常常见的现象,简单粗暴的做法如直接删除包含缺失值的记录.删除缺失值比例过大的变量.用0填充缺失值等,但这些做法会很大程度上影响原始数据的分布或者浪费来之 ...

  4. 百度网盘不限速下载PanDownload网页版+IDM

    1.安装配置IDM 下载链接:链接:https://pan.baidu.com/s/13P4ae-IPgi5Y13CGEZgmlg 提取码:do44 安装后在浏览器(推荐chrome或Firefox) ...

  5. Storm框架设计

  6. wchar用wcout输出正常cout是?

  7. docker commit为什么不适合生成镜像?

    要知道,当我们运行一个容器的时候(如果不使用卷的话),我们做的任何文件修改都会被记录与容器存储层里.而Docker提供了一个docker commit 的命令,可以将容器的存储层保存下来成为镜像.换句 ...

  8. Shell脚本 全局变量、局部变量

    在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱.但是如果 ...

  9. JavaWeb 二维码

    说明 相关包 zxing-core3.3 zxing-javase3.3 junit4.12 POM文件 <dependency> <groupId>com.google.zx ...

  10. 解析Mybatis入门第一天

    MyBatis是一个基于Java的持久层框架,内部对JDBC做了封装,使开发者只需要关注SQL语句,而不用关注JDBC的代码,使开发变得更加的简单. MyBatis通过XML或者注解的方式将要执行的各 ...