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是不同的
// 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中类的简单使用记录的更多相关文章
- scala中函数简单使用记录
object funcHighLevel { def main(args: Array[String]): Unit = { // 创建一个匿名函数 val sayFunc = (name: Stri ...
- 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感
上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...
- Python简单爬虫记录
为了避免自己忘了Python的爬虫相关知识和流程,下面简单的记录一下爬虫的基本要求和编程问题!! 简单了解了一下,爬虫的方法很多,我简单的使用了已经做好的库requests来获取网页信息和Beauti ...
- redis5.0.3单实例简单安装记录
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
- Oracle触发器简单入门记录
写在前面: 最近,老项目新增了日报优化的需求,丽姐让我用触发器去实现当数据插入或者更新的时候,实现对日报表数据更新操作.嗯嗯嗯呢,之前学习数据库的时候,有碰到过触发器,但都是一跳而过,也没怎么去真正的 ...
- 27:简单错误记录SimpleErrorLog
题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: ...
- 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 ...
- scala中Tuple简单使用
/** * Tuple简单使用记录 * 最大22个参数 */ object TupleUse { def main(args: Array[String]): Unit = { // 简单Tuple ...
- jdb调试scala代码的简单介绍
在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都 ...
随机推荐
- python 中 random模块的用法
import random print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数 print( random.random() ) # 产生 0 到 ...
- NetCore2.2使用Nlog自定义日志写入路径配置方式
在一些特定场景的业务需求下,日志需要写入到不同的路径下提供日志分析.第一种:默认Nlog可以通过日志级别来区分路径,——优点是不需要额外配置,开箱即用——缺点是不够灵活,如果超过级别数量,则不满足需求 ...
- python基础教程2第20章 项目1:即时标记
simple_markup.py import sys, re from util import * print('<html><head><title>...&l ...
- python编程语言学习day05(1)
模块(不起与python相关模块的名字) 1.random random.random() 在0与1之间取随机数 random.randint(a,b) 在a,b之间取随机整数,包括边界 ra ...
- 关于使用vue时的个人规范
js文件: 公共功能文件:common_功能名.js 例:common_ajax.js 页面级功能文件(在不同页面复用):page_功能名.js 放置在html文件中加载的js文件命名:app_htm ...
- python数据读取路径为啥要用双反斜杠?
Window下python读取数据路径可以有三种表示方式: (1)'c:\\a.txt' ——>转义的方式.表示这里\\是一个普通\字符,不容易出错(2)r'c:\a.txt' ——>声明 ...
- 为什么要使用动态链接库(DLL)
为什么要使用动态链接库(DLL) 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会陌生,在Windows中有着大量的以DLL为后缀的文件,它们是保证Windows正常运行和维 ...
- delphi RichView的使用介绍
RichView 组件 由 9 个组件模块组成,分别是: 1.TRVStyle:主要是定义RICHVIEW样式,定义后,其它RIHCVIEW都可以引用此样式. 2.TRichView :主要用于显示 ...
- 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读
阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务 ...
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
首先来看一下Servlet的过滤器内容: 一.Servlet过滤器的概念: ************************************************************** ...