Chiriri's blog Chiriri's blog
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)

Iekr

苦逼后端开发
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)
  • Hadoop

  • Zookeeper

  • Hive

  • Flume

  • Kafka

  • Azkaban

  • Hbase

  • Scala

    • Scala介绍
    • Scala入门
      • 环境搭建
      • Idea创建Scala
      • 伴生对象和伴生类
    • 流程控制
    • 函数式编程
    • 面向对象
  • Spark

  • Flink

  • 离线数仓

  • 青训营

  • DolphinScheduler

  • Doris

  • 大数据
  • Scala
Iekr
2021-12-15
目录

Scala入门

# Scala 入门

# 环境搭建

  1. 依赖于 jdk 确保 jdk 安装并配置好环境变量

  2. 从官网中下载

    https://www.scala-lang.org/download/2.11.8.html 并解压到压缩包

  3. 配置环境变量

    image-20211215143051670

    image-20211215143156480

  4. 在 cmd 执行 scala 查看环境变量是否生效

# Idea 创建 Scala

先在 idea 中安装 scala 插件

image-20211215151517358

  1. 右键项目添加框架支持

    image-20211215150758910

  2. 添加 scala 并选择版本

    image-20211215150903946

  3. 在 src 的 main 包下创建 scala 源文件夹 用于编写 scala

    image-20211215151016524

  4. 创建 scala 类

    image-20211215151110657

    package com.atguigu.scala.chapter
    
    object HelloWorld {
      def main(args: Array[String]): Unit = {
        println("Hello World")
      }
    }
    
    1
    2
    3
    4
    5
    6
    7

# 伴生对象和伴生类

伴随着类产生一个对象 当我们对源文件进行编译之后 默认会生成两个字节码文件 一个是伴生类 另外一个是伴生对象所属类 (带 $ 的 class)

Object 名称 Scala 是纯面向对象 去除了 java 中 static 关键字和 vnoid 关键字,通过伴生对象模拟 static 效果

image-20211215221143361

如果不想默认生成伴生类 则需要在伴生对象中手动声明伴生类 必须要与伴生对象命名一致

如果在 scala 中要定义类型 java 中 static 内容 都应该放到伴生对象中声明

  1. 伴生类定义了非静态内容
  2. 伴生对象所属类定义了静态内容
  3. 伴生类通过伴生对象所属类调用 mian 方法 (因为 main 方法是静态内容)
  4. 伴生对象所属类会在 无参构造器中 生成一个 MODULES$ 为伴生对象所属类
  5. 而伴生对象通过 MODULES$ 来调用静态内容
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
Scala介绍
流程控制

← Scala介绍 流程控制→

最近更新
01
k8s
06-06
02
进程与线程
03-04
03
计算机操作系统概述
02-26
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Iekr | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式