scala 伴生对象的作用
1、什么是伴生对象
scala中的类不能定义静态成员,而代之以定义单例对象来替代
单例对象通过object关键字来声明
单例对象中的所有方法,可以直接通过object单例对象的名字直接来调用。
一个单例对象可以绑定在一个类,当单例对象和某个类写在同一个源文件且共享一个名字,它们就产生了绑定关系。
此时单例对象称之为该类的伴生对象,类称之为该对象的伴生类。
object food {def getFood(){println("this is not the same")}
}class food{def getFood(): Unit ={println("this is your food.")}
}
2、伴生对象与伴生类
类和它的伴生对象可以互相访问其私有成员
单例对象不能new,所以也没有构造参数
可以把单例对象当做java中可能会用到的静态方法工具类。
作为程序入口的方法必须是静态的,所以main方法必须处在一个单例对象中,而不能写在一个类中。
3、单例对象在第一次被访问时才会被初始化,来自于scala自带的predef包。
scala 伴生对象的作用相关推荐
- 四, Scala 伴生对象, 特质
文章目录 四, Scala 伴生对象和伴生类 4.1 单例对象和伴生对象 4.1.1 什么是单例对象? 4.1.2 如何使用Scala的伴生对象和伴生类来实现单例模式? 4.1.2 apply方法 4 ...
- 学习Scala:伴生对象和伴生类之间的关系(二)
孤立对象是只有一个object关键字修饰的对象,该对象会编译成两个class文件,一个是以孤立对象的名字命名的class, 一个是以孤立对象的名字后面加上一个$ 字符命名的class, 这个class ...
- Kotlin 中的伴生对象和静态成员
转载请注明出处:https://blog.csdn.net/sinat_14849739/article/details/80552111 本文出自Shawpoo的专栏 我的简书:简书 一.前言 最近 ...
- 字节Scala面试题(2) --- 伴生对象
今天继续之前字节面试的另外一个问题 --- 伴生对象. ----------分界线:面试问题---------- 请描述一下,Scala中伴生对象编译成.class文件后与伴生类的关系. ------ ...
- Scala中Object和Class区别(伴生类和伴生对象)
文章目录 一,介绍 二,类Class 2.1 类定义 2.2 构造器 1.基本语法 2.构造器参数 2.3 私有成员和Getter/Setter语法 三,单例对象Object 四,伴生对象和伴生类介绍 ...
- Scala编程之伴生对象
伴生对象是scala中静态的概念 Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在 Scala中没有静态的概念).但是为了能够和Java语言交互(因为Java中有静态概念) ...
- 每天学一点Scala之 伴生类和伴生对象
1. object 相当于class的单个实例,因此,在object里声明的变量都是静态变量,静态方法 2. 在object里声明的变量,都是全局变量,也就是类的公共属性,或者类似于java中父类 ...
- Scala单例对象(伴生对象)
概念 Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概 念).但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象 来模拟类对象,该 ...
- Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、
1:Scala之函数式编程学习笔记: 1:Scala函数式编程学习:1.1:Scala定义一个简单的类,包含field以及方法,创建类的对象,并且调用其方法:class User {private v ...
最新文章
- 一个普通80后的IT Pro去溜冰的感慨
- 一个身份证号码验证接口[2]
- 【企业管理】2019年12 月 每日花语
- 笔记-项目质量管理-复习要点
- 如何挂载阿里云Linux服务器的“数据盘”(新购买)
- PIC单片机入门_指令系统
- RabbitMQ交换机简介
- 顺利达成微软HacktoberFest 2018
- centos设置开机自启动
- react native开发的新闻客户端
- 分布式、微服务、云架构
- sh文件在linux下如何运行_RTMP协议安防视频平台EasyDSS在Linux系统下运行报错,如何处理?_...
- 传奇开服很难吗?教你怎么给Hero传奇引擎添加NPC
- 杭电数字电路课程设计——出租车计费器
- PHP基础知识系统复习
- 天风掌财社新股认购如何操作?
- Pyspark官方文档
- 未来的计算机 展望未来作文,展望未来作文(通用5篇)
- 跨境电商B2B是什么?跨境电商B2B模式如何定义?
- 每个程序员都可以入手的小项目创意大集合
热门文章
- tomcat一键启停shell脚本
- 成绩分析系统c语言,学生成绩分析及排名系统C语言程序设计课程设计实习报告...
- 计算机专业学生如何应聘教师岗位
- Zookeeper读写性能测试
- Oracle表明明存在SQL查询数据提示表不存在异常
- 李炎恢ThinkPHP讲义ThinkPHP--自动验证[上][12]
- 传球游戏--动态规划
- Hessian 序列化、反序列化
- 在c语言中为了结束while语序,2011级C语序设计基础教程课后习题答案.doc
- 问题 - 不在以下 request 合法域名列表中,请参考文档