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 伴生对象的作用相关推荐

  1. 四, Scala 伴生对象, 特质

    文章目录 四, Scala 伴生对象和伴生类 4.1 单例对象和伴生对象 4.1.1 什么是单例对象? 4.1.2 如何使用Scala的伴生对象和伴生类来实现单例模式? 4.1.2 apply方法 4 ...

  2. 学习Scala:伴生对象和伴生类之间的关系(二)

    孤立对象是只有一个object关键字修饰的对象,该对象会编译成两个class文件,一个是以孤立对象的名字命名的class, 一个是以孤立对象的名字后面加上一个$ 字符命名的class, 这个class ...

  3. Kotlin 中的伴生对象和静态成员

    转载请注明出处:https://blog.csdn.net/sinat_14849739/article/details/80552111 本文出自Shawpoo的专栏 我的简书:简书 一.前言 最近 ...

  4. 字节Scala面试题(2) --- 伴生对象

    今天继续之前字节面试的另外一个问题 --- 伴生对象. ----------分界线:面试问题---------- 请描述一下,Scala中伴生对象编译成.class文件后与伴生类的关系. ------ ...

  5. Scala中Object和Class区别(伴生类和伴生对象)

    文章目录 一,介绍 二,类Class 2.1 类定义 2.2 构造器 1.基本语法 2.构造器参数 2.3 私有成员和Getter/Setter语法 三,单例对象Object 四,伴生对象和伴生类介绍 ...

  6. Scala编程之伴生对象

    伴生对象是scala中静态的概念 Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在 Scala中没有静态的概念).但是为了能够和Java语言交互(因为Java中有静态概念) ...

  7. 每天学一点Scala之 伴生类和伴生对象

    1.  object 相当于class的单个实例,因此,在object里声明的变量都是静态变量,静态方法 2.  在object里声明的变量,都是全局变量,也就是类的公共属性,或者类似于java中父类 ...

  8. Scala单例对象(伴生对象)

    概念 Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概 念).但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象 来模拟类对象,该 ...

  9. Scala学习教程笔记二之函数式编程、Object对象、伴生对象、继承、Trait、

    1:Scala之函数式编程学习笔记: 1:Scala函数式编程学习:1.1:Scala定义一个简单的类,包含field以及方法,创建类的对象,并且调用其方法:class User {private v ...

最新文章

  1. 一个普通80后的IT Pro去溜冰的感慨
  2. 一个身份证号码验证接口[2]
  3. 【企业管理】2019年12 月 每日花语
  4. 笔记-项目质量管理-复习要点
  5. 如何挂载阿里云Linux服务器的“数据盘”(新购买)
  6. PIC单片机入门_指令系统
  7. RabbitMQ交换机简介
  8. 顺利达成微软HacktoberFest 2018
  9. centos设置开机自启动
  10. react native开发的新闻客户端
  11. 分布式、微服务、云架构
  12. sh文件在linux下如何运行_RTMP协议安防视频平台EasyDSS在Linux系统下运行报错,如何处理?_...
  13. 传奇开服很难吗?教你怎么给Hero传奇引擎添加NPC
  14. 杭电数字电路课程设计——出租车计费器
  15. PHP基础知识系统复习
  16. 天风掌财社新股认购如何操作?
  17. Pyspark官方文档
  18. 未来的计算机 展望未来作文,展望未来作文(通用5篇)
  19. 跨境电商B2B是什么?跨境电商B2B模式如何定义?
  20. 每个程序员都可以入手的小项目创意大集合

热门文章

  1. tomcat一键启停shell脚本
  2. 成绩分析系统c语言,学生成绩分析及排名系统C语言程序设计课程设计实习报告...
  3. 计算机专业学生如何应聘教师岗位
  4. Zookeeper读写性能测试
  5. Oracle表明明存在SQL查询数据提示表不存在异常
  6. 李炎恢ThinkPHP讲义ThinkPHP--自动验证[上][12]
  7. 传球游戏--动态规划
  8. Hessian 序列化、反序列化
  9. 在c语言中为了结束while语序,2011级C语序设计基础教程课后习题答案.doc
  10. 问题 - 不在以下 request 合法域名列表中,请参考文档