码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Scala面向对象


    一、类和接口

    • scala定义的类和class一样,都是class
    • scala中的对象是需要定义的,而java中的对象是通过class new出来的,
    • scala中的接口是称为trait 、java中的接口时interface
    • scala中无论继承类还是trait统一都是使用extends这个关键字,类继承trait后,必须实现trait中的抽象方法,实现时候不需要使用override
    • scala不支持对类多继承,但是支持对trait进行多重继承,使用with关键字即可
    • scala中的main方法,只能定义在object中,不能继承在class中

     

    二、构造函数

    Scala类中的构造函数可以分为主构造函数和辅助构造函数

    主constructor:类似Java的默认构造函数 this(),Scala的主constructor是与类名放在一起的

    辅助constructor:类似Java的重载构造函数 this(name,age),可以给类定义多个辅助constructor,辅助constructor之间可以互相调用,但是第一行必须调用主constructor

     

     三、对象

    • object:相当于class的单个实例,通常在里面放一些静态的field或者method
    • object不能定义带参数的constructor,只有空参的constructor
    • 第一次调用object的方法时,会执行object的constructor,空参的constructor。 但是注意,object的constructor的代码只会在他第一次被调用时执行一次,以后再次调用就不会再执行 了
    • object通常用于作为单例模式的实现,或者放class的一些静态成员,比如工具方法 object可以直接使用,不能new 创建一个object,使用object关键字

    伴生类和伴生对象

    • 如果有一个class,还有一个与class同名的object,那么就称这个object是class的 伴生对象 ,class是 object的 伴生类
    • 伴生类和伴生对象必须存放在一个.scala文件之中
    • 伴生类和伴生对象最大特点在于可以互相访问private field

     

  • 相关阅读:
    从零实现深度学习框架——Transformer从菜鸟到高手(一)
    云计算安全体系介绍
    计算机毕业设计ssm基于SSM框架在线电影评论投票系统3gr0f系统+程序+源码+lw+远程部署
    【NI-DAQmx入门】NI-DAQmx之C、C++、VB、VB.net与C#支持
    7.动态变量与JSON处理
    Gateway基本配置
    Mybatis中的传参以及增删改查
    MyBatis ognl.NoSuchPropertyException 或者 Invalid bound statement (not found)
    当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界
    小米、华为、iPhone、OPPO、vivo如何在手机让几张图拼成一张?
  • 原文地址:https://blog.csdn.net/libaowen609/article/details/126361604
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号