Scala样例类及底层实现伴生对象
package com.wyh.day01 /**
* 样例类的使用
* 1、使用case修饰类
* 2、不需要写构造方法,getter,setter方法,toString方法
* 3、直接通过对象名进行调用
* 4、自动重写方法
*
*/
object ScalaApply {
def main(args: Array[String]): Unit = { val animal = Animal("小黄",2) println(animal) val dog = Dog.apply("大黄",2)
println(dog) } } /**
* 样例类
*/
case class Animal(name:String,age:Int) /**
* 解释样例类使用的时候为什么不需要new关键字
*
* 伴生对象
*/
class Dog(name:String,age:Int){
var _name:String = name
var _age:Int = age override def toString: String = _name+"\t"+_age
} /**
* 伴生对象
*/
object Dog{ def apply(name:String,age:Int): Dog = { new Dog(name,age)
} }
Scala样例类及底层实现伴生对象的更多相关文章
- scala 样例类
一.case class 的特征 package com.jason.qianfeng case class Message(sender: String, receiver: String, bod ...
- 学好Spark/Kafka必须要掌握的Scala技术点(二)类、单例/伴生对象、继承和trait,模式匹配、样例类(case class)
3. 类.对象.继承和trait 3.1 类 3.1.1 类的定义 Scala中,可以在类中定义类.以在函数中定义函数.可以在类中定义object:可以在函数中定义类,类成员的缺省访问级别是:publ ...
- 【Scala篇】--Scala中Trait、模式匹配、样例类、Actor模型
一.前述 Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大. 模式匹配机制相当于java中的switch-case. 使用了case关键字的类定义就是样例类(case ...
- Scala学习十四——模式匹配和样例类
一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你 ...
- Scala集合库、模式匹配和样例类
package com.yz8 import org.junit.Test class test { @Test def test: Unit = { val ints = List(1,5,7,6, ...
- Scala模式匹配和样例类
Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 1.字符匹配 def mai ...
- Scala基础:模式匹配和样例类
模式匹配 package com.zy.scala import scala.util.Random /** * 模式匹配 */ object CaseDemo { def main(args: Ar ...
- 大数据学习day16------第三阶段-----scala04--------1. 模式匹配和样例类 2 Akka通信框架
1. 模式匹配和样例类 Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配 1.1 模式匹 ...
- Scala-Unit6-final/type关键字、样例类&样例对象
一.关键字 1.final关键字 用final修饰的类:不能被继承 用final修饰的方法:不能被重写 注意:(1)在Scala中变量不需要用final修饰,因为val与var已经限制了变量是否可变 ...
- Scala--模式匹配和样例类
模式匹配应用场景:switch语句,类型查询,析构,样例类 一.更好的switch val ch :Char = '+' val sign = ch match{ case '+' => 1 c ...
随机推荐
- 数据湖加速器GooseFS,加速湖上数据分析性能
数据湖加速器 GooseFS 是由腾讯云推出的高性能.高可用.弹性的分布式缓存方案.依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中的计算应 ...
- [WPF UI] 为 AvalonDock 制作一套 Fluent UI 主题
AvalonDock 是我这些天在为自己项目做技术选型时发现的一个很好的开源项目,它是一个用于 WPF 的布局控件库,可以帮助我们实现类似 Visual Studio 的布局效果.因为它自带的一些样式 ...
- 【Python】【Matplotlib】词云图
关于从网页获取文本 import requests from bs4 import BeautifulSoup code = requests.request("post",&qu ...
- docker-compose.yml 使用说明
docker-compose.yml 结构 docker-compose.yml文件分为三个主要部分:services.networks.volumes..services主要用来定义各个容器.net ...
- liquibase maven
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- (已解决)Public Key Retrieval is not allowed异常
Public Key Retrieval is not allowed解决方法Public Key Retrieval is not allowed解决方法项目场景:问题描述:原因分析:解决方案:Pu ...
- Javadoc 使用详解
很多程序对Javadoc都不重视,认识不到Javadoc的作用,很多人都是这样认为的:"我只要写好功能就够了,写Javadoc太浪费时间,也没啥作用,还不如用写Javadoc的时间再多些个功 ...
- Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图
一.前言说明 最近花了半年时间,专门重构了整个地图组件,之前写的比较粗糙,有点为了完成功能而做的,没有考虑太多拓展性和易用性.这套地图自检这几年大量的实际项目和用户使用下来,反馈了不少很好的建议和意见 ...
- Qt编写安防视频监控系统26-硬件加速
一.前言 硬件加速这个功能在一年多以前就已经具备,当时对两个内核一个是ffmpeg内核.一个是vlc内核都做了对应的接口函数,只是当时为了简单没有在系统设置中做出接口,vlc做硬件加速不用自己写代码实 ...
- 从零开始构建一个基于大模型和 RAG 的知识库问答系统
SimpleAbdQA 本项目所使用的大模型为:qwen1.8b 演示中所使用Embedding为:Word2vec 一.介绍 通过从本项目中,你可以得到: 了解基于大模型的本地知识库的运作原理 了解 ...