1 Scala语言入门

1.1概述

1.1.1Scala和Java关系

一般来说,学Scala的人,都会Java,而Scala是基于Java的,因此我们要将Scala和Java以及JVM之间的关系搞清楚.

在这里插入图片描述

1.1.2语言特点

Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言
(静态语言需要提前编译的如:Java、c、c++等,动态语言如:js)

1)Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程。
	多范式:就是多种编程方式的意思,有面向过程、面向对象、泛型、函数式四种程序设计方法。
2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两
种语言的无缝对接。
3)Scala单作为一门语言来看,非常的简洁高效。
4)Scala在设计时参考了Java的设计思想,同时也将函数式编程语言的特点融入其中。

1.2环境搭建

1)安装步骤
(1)首先确保JDK1.8安装成功
		Win+R---->cmd----->java -version
(2)下载对应的Scala安装文件scala-2.11.8.zip
(3)解压scala-2.11.8.zip,我这里解压到E:\02_software
(4)配置Scala的环境变量
		Win+R----->cmd---->scala
		注意:解压路径不能有任何中文路径,最好不要有空格
					环境SCALA_HOME要大写

在这里插入图片描述
在这里插入图片描述

1.3插件安装

1.4HelloWorld案例

1.4.1创建IDEA项目工程

1)打开IDEA->点击左侧的Flie->选择New->选择Project…
在这里插入图片描述
2)创建一个Maven工程,并点击next
在这里插入图片描述
3)GroupId输入com.atguigu->ArtifactId输入scala0513->点击next->点击Finish
注意:工程存储路径一定不要有中文和空格。

在这里插入图片描述
4)指定项目工作目录空间
在这里插入图片描述
5)默认下,Maven不支持Scala的开发,需要引入Scala框架。
在scala0513项目上,点击右键-> Add Framework Support… ->选择Scala->点击OK
在这里插入图片描述
注意:如果是第一次引入框架,Use libary看不到,需要选择你的Scala安装目录,然后工具就会自动识别,就会显示user libary。

6)创建项目的源文件目录
右键点击main目录->New->点击Diretory -> 写个名字(比如scala)。
右键点击scala目录->Mark Directory as->选择Sources root,观察文件夹颜色发生变化。

在这里插入图片描述
7)在scala包下,创建包com.atguigu.chapter01包名和Hello类名,
右键点击scala目录->New->Package->输入com.atguigu.chapter01->点击OK。
右键点击com.atguigu.chapter01->New->Scala Class->Kind项选择Object->Name项输入Hello。
在这里插入图片描述
8)编写输出Hello Scala案例
在类中中输入main,然后回车可以快速生成main方法;
在main方法中输入println(“hello scala”)

1.4.2class和object说明

对第一个程序进行说明
	main方法名
小括号表示参数列表
参数声明方式:java  -  类型  参数名
                       scala  -  参数名:类型
public修饰符:scala中没 有ipublic关键字,如果不声明访问权限,那么就是公共的。
static修饰符:scala中没 有静态语法,所以没有static关键字。
void关键字:表示返回做,但是不遵循面向对象语法,所以scala中没有,但是有Unit类型,表示没有返回值
scala中:方法名(参数列表):返回值类型
scala中声明方法必须采用关键字def声明
scala中方法实现赋值给方法声明,所以中间需要等号连接
Scala是一 个完全面向对象的语言,所以没有静态语法,为了能调用静态语法(模仿静态语法),
采用伴生对象单例的方式调用方法

Scala完全面向对象,故Scala去掉了Java中非面向对象的元素,如static关键字,void类型
1) static
	Scala无static关键字,由object实现类似静态方法的功能(类名.方法名)。
	class关键字和Java中的class关键字作用相同,用来定义一个类;
2) void
	对于无返回值得函数,Scala定义其返回值类型为Unit类

1.4.3Scala程序反编译

1)在项目的target目录Hello文件上点击右键->Show in Explorer->
	看到object底层生成Hello$.class和Hello.class两个文件
2)采用Java反编译工具jd-gui.exe反编译代码,将Hello.class拖到jd-gui.exe页面
object 名称
	从语法角度讲,上面语法表示声明了一个伴生对象
 伴生对象
    伴随类产生的一个对象
     当我们对源文件进行编译之后,默认会生成两个字节码文件,一个是伴生类,另一个是伴生对象所属类
 伴生类
    Scala_HelloWorld
 伴生对象所属类
    Scala_HelloWorld$
    伴生对象 (单例对象)
      MODULE$
注意:以后在Scala语言中,如果要定义类似Java的static内容,都应该放到伴生对象中去声明

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值