Scala语法基础0831

语法基础部分
		适用场景(编译型)
		常量、变量、数据类型、
		流程控制、函数(面向函数语言)
面向对象部分
		类
		抽象类
		接口【特质】
		三大特性【封装、继承、多态】

类是对象的抽象,而对象是类的具体实例。
类是抽象的,不占用内存,而对象是具体的,占用存储空间。
推荐书目《设计模式之禅》
类:属性,行为
类与类的关系:继承 组合
类与对象的关系:抽象 具体

[访问修饰符] class 类名 { } //类的定义 默认public修饰

[访问修饰符] var|val 属性名称 [:类型] = 属性值 //声明属性
//类型不写的话,编译器根据具体的值进行类型推断
//var的话一般可以使用 _ 系统赋予初始值
/**Byte / Short / Int / Long   0
   Float / Double 0.0
   String 和 引用类型 null 
   Boolean false
*/
/**数据类型分为几大类:
*	值类型 【AnyVal】
*	引用类型【AnyRef】
*/
def 方法名(参数)[:返回值类型] = {
   		方法体
   	}
//声明方法

方法 和 函数的区别:方法从属于类 ,函数不属于任何类

伴生类和伴生对象
如果有一个class,还有一个与class同名的object,
那么就称这个object是class的伴生对象,
class就是object的伴生类
伴生对象和伴生类必须放在同一个.scala文件中
伴生对象和伴生类,最大特点是可以互相访问private 变量

包是对类的精细化管理管理
包的命名规范

	数字、字母、下划线、小圆点 、不能数字开头、不要使用关键字
	一般命名规范,全部小写字母
	机构类型名.公司名.项目名.模块名{在此路径下编写各种类}

包的作用域

	如果声明 package包的时候
	大括号声明的类在这个包中,声明的类从属于子包
	 大括号外面声明的类,从属于原有的包

import导入

//import java.util.Date
//import java.sql.{Date=>_} //屏蔽这个类
//类重名的话,如何系统类(_root_)

方法

访问修饰符

scala有多少种访问权限 【4种访问权限、3种访问修饰符】
	 public 默认就是public权限、scala没有这个关键词【1】
	 protected 访问权限只能子类访问【0】、同包都不行的【1】
	 private 只能当前类访问 【1】
	 private[包修饰] 给包提供权限【1】 

构造方法

scala的构造器的基本语法:

		class 类名(形参列表){ //主构造器
			def this(形参列表) {
			  //辅助构造器 
			}
			def this(形参列表...) {
			  //辅助构造器 
			}
		}
		/**
		*  构造方法
		  *  scala构造方法: 主构造方法、辅助构造方法
		  *  scala创建对象的时候如果用的辅助构造方法,必须调用主构造方法吗??? 需要
		  *  scala主构造方法是无参的,小括号可以省略不写,从这个角度看,类也是一个函数
		  *  scala的辅助构造方法可以用private修饰、当前辅助构造方法就被私有化了
		  *  scala不能存在和主构造方法同名且同参数的辅助构造方法
		  * /

构造方法
scala构造方法: 主构造方法、辅助构造方法
scala创建对象的时候如果用的辅助构造方法,必须调用主构造方法吗??? 需要
scala主构造方法是无参的,小括号可以省略不写,从这个角度看,类也是一个函数
scala的辅助构造方法可以用private修饰、当前辅助构造方法就被私有化了
scala不能存在和主构造方法同名且同参数的辅助构造方法

抽象类和继承

 /**
		* 抽象方法和抽象属性 override可选
		* 具体的方法和具体的属性如果被重写,必须要添加override
		* ??是让我们思考方法具体实现应该怎么写、不是默认值
		*/
abstract class Person {
  def test()
  def test1(): Unit ={
    println("person test1 ......")
  }
}
class User extends Person {
  def test(): Unit = {
    println("user test ......")
  }
  override def test1(): Unit = {//具体的方法和具体的属性如果被重写,必须要添加override
    println("user test1 ......")
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值