当前位置:   article > 正文

12_Scala_package

12_Scala_package

Scaal面向对象编程

Scala是一门完全面向对象语言,摒弃了Java很多不是面向对象的语法,虽然如此其面向对象思想和Java完全一致

1.回顾Java

//    1.Scala包
//      语法:com.atguigu + gmall +user + 			util(service,bean)
//          域名反写 + 项目名称 + 模块名称 + 程序分类
//          com.atguigu.gmall.user.util(
//      用途:
//          --分类管理
//          --区分类
//          --权限管理
//          --定义源码存放路径
      /*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

2.package可以多次声明

Scala的package可以多次声明 ,体现不同包的关系

//    2.TODO Scala的package可以多次声明    ,体现不同包的关系
//    package com
//    package atguigu
//    package bigdata
//    package scala
//    package chapter06
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.设置作用域,设置上下级

可以给包设置作用域,设置上下级关系

//    3.TODO 可以给包设置作用域,设置上下级关系
package scala{
      package chapter06{
        object  demo{
          def main(args: Array[String]): Unit = {
            
          }
        }
      }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

4.包可以当作对象使用

包对象声明的任何属性和方法,在当前包和其子包都可以直接访问

在这里插入图片描述

在这里插入图片描述

基本语法 package object xx{
}

在这里插入图片描述

在包对象中写的所有方法,同一包下都可以使用;

在这里插入图片描述

5.import

java 中的常规用法

在这里插入图片描述

//    1.TODO scala中的import是用来导包的;
    //导包完成后可以直接包名.方法进行执行其内容
    _12Scala面向对象.test()
  • 1
  • 2
  • 3

其次:import关键字可以在任何地方使用

但是:局部位置导包,其他位置不起作用

6.Scala用_取代Java *

import java.util._
  • 1

7.导入多个包

    import java.util.{
    List,Arrays,Map
    }
  • 1
  • 2
  • 3

8.屏蔽类

在这里插入图片描述

上述导包,两个类中都有Date,引起歧义

假如我想使用util的Date,那么我会将sql屏蔽掉

写法如下

    import java.util._
    import java.sql.{Date=>_,_}     //屏蔽掉Date	但是保留了_其他所有包
    new Date()
  • 1
  • 2
  • 3

9.类起别名

    import java.util.{HashMap=>JAVAHASHMAP}
    val map = new JAVAHASHMAP()
  • 1
  • 2

注意:区分类起别名和屏蔽类的写法

10.import的规则

//      --以当前包为基准,导入指定子包中的类’
  • 1

在这里插入图片描述

也就是说先看当前包里面有没有,没了,自上而下依次寻找

11.有些包无需导入

java.lang

scala

scala中的Predef对象的方法无需导入;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号