Scala的包(作用域)

package com.jh.scala 等同于 package jh \n package scala 等同于 package com.jh{ package scala {

第一个包生明对当前整个文件内的包声明有效

  1,源文件的目录和包之间并没有强制的关联关系

包对象(弥补了JVM的不足)

包可以包含 类,对象和 trait ,但不能包含函数或变量的定义,这是Java虚拟机的局限

package scala { }

package object scala { }

包可见性

访问权限缺省时,Scala默认 public 访问权限

var name = "Vow"

属性为私有时,只在类的内部和伴生对象中可用

private var name = "Vow"

Scala 中受保护权限比Java中更严格,只能子类访问,同包无法访问

protected var name = "Vow"

给指定包以访问权限【可以给到com,所有都可访问】

private【scala】val name = "Vow"

引入(导包)

import 语句可以出现在任何地方

import scala.beans._   用下滑线作为通配符

import scala.collection.mutable.{HashMap,HashSet} 采用选取器{}

重命名和隐藏

如果引入的多个包中含有相同的类,那么可以将不需要的类进行重命名以便区分

import java.uiti.{HashMap=>JavaHashMap,List}

import scala.collection.mutable._

var map = new HashMap()  // scala 中的HashMap

var map1 = new JavaHashMap(); // java 中的HashMap别名

如果某个冲突的类根本用不到,那么可以隐藏

import java.util.{HashMap=>_,_}

继承

和Java一样使用extends关键字,在定义中给出子类需要而超类没有的字段和方法,或者重写超类的方法。

如果类声明为final,他将不能被继承。如果单个方法声明为final,将不能被重写

重写方法

重写一个非抽象方法需要用 override 修饰符,调用超类的方法使用 super关键字

类型检查和转换

用 isInstanceOf 方法测试某个对象是否属于某个给定的类

用 asInstanceOf 方法将引用转换为子类的引用

用 classOf 获取对象的类名

受保护的字段和方法

protected在Scala 中,只有继承关系才可以访问,同一个包下,也不可以。

超类的构造

子类的辅助构造器最终都会调用主构造器

只有子类构造器可以调用超类的构造器。辅助构造器永远都不可能直接调用超类的构造器。

class Person(name:String){}

class Emp(name:String)extends Person(name){ // 将子类参数传递给父类构造器

  // super(name) (X) 没有这种语法

}

覆写字段

子类改写父类的字段

Scala面向对象详解的更多相关文章

  1. Java面向对象详解

    Java面向对象详解 前言:接触项目开发也有很长一段时间了,最近开始萌发出想回过头来写写以前学 过的基础知识的想法.一是原来刚开始学习接触编程,一个人跌跌撞撞摸索着往前走,初学的时候很多东西理解的也懵 ...

  2. Scala 入门详解

    Scala 入门详解 基本语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.类,对象,方法,实例变 ...

  3. JS 面向对象详解

    面向对象详解1 OO1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  4. java之面向对象详解

    #############java面向对象详解#############1.面向对象基本概念2.类与对象3.类和对象的定义格式4.对象与内存分析5.封装性6.构造方法7.this关键字8.值传递与引用 ...

  5. php开发面试题---php面向对象详解(对象的主要三个特性)

    php开发面试题---php面向对象详解(对象的主要三个特性) 一.总结 一句话总结: 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸 ...

  6. C#基础-面向对象详解

    面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...

  7. scala 模式匹配详解 3 模式匹配的核心功能是解构

    http://www.artima.com/scalazine/articles/pattern_matching.html这篇文章是odersky谈scala中的模式匹配的一段对话,我做了部分片段翻 ...

  8. scala 模式匹配详解 2 scala里是怎么实现的?

    在这篇martin和另外两位模式匹配领域专家的论文里说了模式匹配的几种实现方式,以及scala是选择哪种方式来实现的.http://lampwww.epfl.ch/~emir/written/Matc ...

  9. Spark入门到精通--(第二节)Scala编程详解基础语法

    Scala是什么? Scala是以实现scaleable language为初衷设计出来的一门语言.官方中,称它是object-oriented language和functional languag ...

随机推荐

  1. 一次lr异常Error: C interpreter run time error: Action.c (17): Error -- memory violation : Exception ACCESS_VIOLATION received问题分析

    今天qq群里人问我一个问题 人家的原始问题如下: 问题是为啥通过lr_save_string取不到参数值 由于别的问题,我也需要调试,但是没有环境,只能模拟场景,如下 他想将token变量换成lr中的 ...

  2. CentOS系统安全加固常见方法

    关于Linux系统安全加固的具体实现脚本及基线检查规范,以供主机维护人员参考学习. 其中以下脚本主要实现的功能包括: *加固项包括:密码长度.session超时时间.删除不用的帐号和组.限制root用 ...

  3. pyqt pyside 设置窗口关闭时删除自身

    pyqt pyside 设置窗口关闭时删除自身 self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

  4. 模拟select,隐藏下拉列表的几种实现

    前言 平时开发过程中,出于各种原因模拟原生slect的要求并不算少见. 在实现的过程中,点击其他区域隐藏下拉列表,又是一个必备的功能, 最近在一次开发的过程中引发了点思考,做下总结. 现象 实际中的实 ...

  5. Metasploit学习记录---Nessus安装部署

    1.Nessus介绍 nessus是目前世界上最为流行的漏洞扫描器之一.她提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库.Nessus不同于传统的漏洞扫描软件,可同时在本机或远端上遥控,进行系统的 ...

  6. GG的文化课

    attack大神退役后,我连文化课都被吊打了 attack:我要回来虐你们了 attack:怎么感觉能裸分清北呢 attack:我稳了 attack:你们个菜鸡,连bed和bad怎么读都不知道

  7. http 协议_DNS_域名解析 DNS 服务器_内容分发网络 CDN_缓存机制_HTML5 浏览器存储技术_cookie_sessionStorage_localStorage

    TCP/IP 协议族 是按层次去划分的 应用层    决定了向用户提供应用服务时通信的活动. FTP 协议(文件传输协议)DNS(域名协议)HTTP(超文本传输协议) 传输层    提供处于网络连接中 ...

  8. jenkins安装与配置---windows系统

    记录安装过程中的步骤及遇到的坑,以做借鉴 服务器主机系统: windows9 ;  已安装开发环境: jdk8 ; 我采用的是war包直接运行的方式: 1.下载最新的版本(一个 WAR 文件).Jen ...

  9. Collections类

    1:一个类对象之间的比较两种方法 1)实现Comparator<String>类并且从写Comparator类中的compare方法, public class A implements ...

  10. [dev][crypto][strongswan] 有关strongswan的forward policy的源码分析

    一 默认情况下,我们使用strongswan建立了一个ipsec隧道之后,建立的policy如下: [root@D129 OUTPUT]# ip xfrm policy src dst dir pty ...