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

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

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

image.png

image.png

Scala 类和对象

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

示例

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;
  }
}

image.png

【class】类关键字

class关键字修饰的是类,只有通过class修饰的类才能被【new】创建,这里就不能再次创建【object】类型了,可以自行测试,会报错的。


new,在内存中创建出一个地址,存储了这个类的信息。


var de=new demo10_class();//通过new创建对象

对象

对象就是一个特指,这个对象有其自身的【属性】以及【方法】。


例如:单独说公交车,它是一个类,但是你要说,石家庄车牌为冀A *****的1路公交车,那么它就是对象,有具体的针对性。


Scala 继承

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


1、重写一个非抽象方法必须使用override修饰符。

2、只有主构造函数才可以往基类的构造函数里写参数。

3、在子类中重写超类的抽象方法时,你不需要使用override关键字。

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


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;
  }
}


image.png


重写

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


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;
  }
}


image.png


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


相关文章
|
3月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
369 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
3月前
|
分布式计算 运维 Serverless
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
在大数据快速发展的时代,流式处理技术对于实时数据分析至关重要。EMR Serverless Spark提供了一个强大而可扩展的平台,它不仅简化了实时数据处理流程,还免去了服务器管理的烦恼,提升了效率。本文将指导您使用EMR Serverless Spark提交PySpark流式任务,展示其在流处理方面的易用性和可运维性。
250 7
EMR Serverless Spark 实践教程 | 通过 EMR Serverless Spark 提交 PySpark 流任务
|
2月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
158 0
|
2月前
|
分布式计算 Java Linux
【Deepin 20系统】Linux 系统安装Spark教程及使用
在Deepin 20系统上安装和使用Apache Spark的详细教程,包括安装Java JDK、下载和解压Spark安装包、配置环境变量和Spark配置文件、启动和关闭Spark集群的步骤,以及使用Spark Shell和PySpark进行简单操作的示例。
34 0
|
4月前
|
Linux Scala 开发者
Scala 多版本下载指南
Scala 多版本下载指南
121 1
|
5月前
|
Java 编译器 Scala
IDEA上的Scala环境搭建
本文指导如何搭建Scala开发环境。首先,安装Scala编译器`scala-2.12.10.msi`,通过DOS窗口验证安装成功。然后,在IDEA中,安装Scala插件,创建Maven工程,删除默认包,新建Scala源码包,并在其中创建Scala Object类。接着,配置项目结构,添加Scala SDK,确保Maven、Language Level和Compiler的bytecode版本设置正确。最后,编写并测试基本的Scala代码。
304 2
IDEA上的Scala环境搭建
|
4月前
|
分布式计算 资源调度 Java
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
43 0
|
4月前
|
分布式计算 Hadoop Scala
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
Scala +Spark+Hadoop+Zookeeper+IDEA实现WordCount单词计数(简单实例-上)
38 0
|
4月前
|
Scala
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
scala-模式匹配(字符串、数组、元组、集合、类、偏函数)
21 0
|
4月前
|
Java Scala Maven
Intellij IDEA+Maven+Scala第一个程序
Intellij IDEA+Maven+Scala第一个程序
92 0
下一篇
无影云桌面