前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一天学完spark的Scala基础语法教程十、类和对象(idea版本)

一天学完spark的Scala基础语法教程十、类和对象(idea版本)

作者头像
红目香薰
发布2022-11-29 19:45:53
2920
发布2022-11-29 19:45:53
举报
文章被收录于专栏:CSDNToQQCode

📋前言📋 💝博客主页:红目香薰_CSDN博客-大数据,计算机理论,MySQL领域博主💝 ✍本文由在下【红目香薰】原创,首发于CSDN✍ 🤗2022年最大愿望:【服务百万技术人次】🤗 💝初始环境地址:【spark环境搭建(idea版本)_红目香薰-CSDN博客】💝

环境需求

环境:win10 开发工具:IntelliJ IDEA 2021.2 maven版本:3.6.3

创建测试类【day1/demo10.scalc】,类型为【Object】

Scala 类和对象

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。

示例

代码语言:javascript
复制
package day1

object demo10 {

  def main(args: Array[String]): Unit = {
    var de=new demo10_class();//通过new创建对象
    println(de.toMax(5,6))
  }
}

class demo10_class{
  def toMax(x:Int,y:Int):Int={
    if(x>y){
      return x;
    }
    return y;
  }
}

【class】类关键字

class关键字修饰的是类,只有通过class修饰的类才能被【new】创建,这里就不能再次创建【object】类型了,可以自行测试,会报错的。 new,在内存中创建出一个地址,存储了这个类的信息。

代码语言:javascript
复制
var de=new demo10_class();//通过new创建对象

对象

对象就是一个特指,这个对象有其自身的【属性】以及【方法】。 例如:单独说公交车,它是一个类,但是你要说,石家庄车牌为冀A *****的1路公交车,那么它就是对象,有具体的针对性。

Scala 继承

Scala继承一个基类跟Java很相似, 但我们需要注意以下几点:

  • 1、重写一个非抽象方法必须使用override修饰符。
  • 2、只有主构造函数才可以往基类的构造函数里写参数。
  • 3、在子类中重写超类的抽象方法时,你不需要使用override关键字。

接下来让我们来看个实例:

代码语言:javascript
复制
package day1

object demo10 extends demo10_class {

  def main(args: Array[String]): Unit = {
    //由于继承了【demo10_class】类,故而可以直接使用
    println(toMax(51,6))
  }
}

class demo10_class{
  def toMax(x:Int,y:Int):Int={
    if(x>y){
      return x;
    }
    return y;
  }
}

重写

这里我就留了一个简单的实例重写,继承了父类,所以可以直接用super

代码语言:javascript
复制
package day1

object demo10 extends demo10_class {

  //重写
  override def toMax(x: Int, y: Int): Int = super.toMax(x, y)

  def main(args: Array[String]): Unit = {
    //由于继承了【demo10_class】类,故而可以直接使用
    println(toMax(51,66))
  }
}

class demo10_class{
  def toMax(x:Int,y:Int):Int={
    if(x>y){
      return x;
    }
    return y;
  }
}

功能依然都是正常可用的。

总结

到这里有关一天学完spark的Scala基础语法教程十、类和对象(idea版本)就结束了 希望能对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境需求
  • Scala 类和对象
    • 示例
      • 【class】类关键字
        • 对象
          • Scala 继承
            • 重写
              • 总结
              相关产品与服务
              云数据库 MySQL
              腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档