文章目录
- Scaal面向对象编程
- 1.回顾Java
- 2.package可以多次声明
- 3.设置作用域,设置上下级
- 4.包可以当作对象使用
- 5.import
- 6.Scala用_取代Java *
- 7.导入多个包
- 8.屏蔽类
- 9.类起别名
- 10.import的规则
- 11.有些包无需导入
Scaal面向对象编程
Scala是一门完全面向对象语言,摒弃了Java很多不是面向对象的语法,虽然如此其面向对象思想和Java完全一致
1.回顾Java
// 1.Scala包
// 语法:com.atguigu + gmall +user + util(service,bean)
// 域名反写 + 项目名称 + 模块名称 + 程序分类
// com.atguigu.gmall.user.util(
// 用途:
// --分类管理
// --区分类
// --权限管理
// --定义源码存放路径
/*
2.package可以多次声明
Scala的package可以多次声明 ,体现不同包的关系
// 2.TODO Scala的package可以多次声明 ,体现不同包的关系
// package com
// package atguigu
// package bigdata
// package scala
// package chapter06
3.设置作用域,设置上下级
可以给包设置作用域,设置上下级关系
// 3.TODO 可以给包设置作用域,设置上下级关系
package scala{
package chapter06{
object demo{
def main(args: Array[String]): Unit = {
}
}
}
}
4.包可以当作对象使用
包对象声明的任何属性和方法,在当前包和其子包都可以直接访问
基本语法 package object xx{
}
在包对象中写的所有方法,同一包下都可以使用;
5.import
java 中的常规用法
// 1.TODO scala中的import是用来导包的;
//导包完成后可以直接包名.方法进行执行其内容
_12Scala面向对象.test()
其次:import关键字可以在任何地方使用
但是:局部位置导包,其他位置不起作用
6.Scala用_取代Java *
import java.util._
7.导入多个包
import java.util.{
List,Arrays,Map
}
8.屏蔽类
上述导包,两个类中都有Date,引起歧义
假如我想使用util的Date,那么我会将sql屏蔽掉
写法如下
import java.util._
import java.sql.{Date=>_,_} //屏蔽掉Date 但是保留了_其他所有包
new Date()
9.类起别名
import java.util.{HashMap=>JAVAHASHMAP}
val map = new JAVAHASHMAP()
注意:区分类起别名和屏蔽类的写法
10.import的规则
// --以当前包为基准,导入指定子包中的类’
也就是说先看当前包里面有没有,没了,自上而下依次寻找
11.有些包无需导入
java.lang
scala
scala中的Predef对象的方法无需导入;