当前位置: 首页 > news >正文

网站建设需要用到哪些软件/所有关键词

网站建设需要用到哪些软件,所有关键词,果洛营销网站建设哪家好,网站设计企7、Scala中的apply方法() 遇到如下形式的表达式时,apply方法就会被调用: Object(参数1,参数2,......,参数N) 通常,这样一个apply方法返回的是伴生类的对象;其作用是为了省略new关键字 Object的apply方法…

7、Scala中的apply方法()

遇到如下形式的表达式时,apply方法就会被调用:

Object(参数1,参数2,......,参数N)

通常,这样一个apply方法返回的是伴生类的对象;其作用是为了省略new关键字

Object的apply方法举例:

//object的apply方法class Student5(val stuName:String) {}object Student5 {//定义自己的apply方法def apply(stuName: String) = {println("*********Apply in Object **********")new Student5(stuName)}//如果没有这个apply方法,下面创建Mary的时候就会报错def main(args: Array[String]): Unit = {var s51 = new Student5("Tom")println(s51.stuName)var s52 = new Student5("Mary")//由于省略了new关键字,创建这个对象的时候,就会在Object找对应的apply方法println(s52.stuName)}}

8、Scala中的继承

Scala和Java一样,使用extends关键字扩展类。

案例一:Employee类继承Person类


//演示Scala的维承父类class Person(val name:String,val age:Int) {//定义结果def sayHello():String = "Hello" + name + " and the age is " + age}//子类class Employee (override val name:String,override val age:Int,val salary:Int) extends Person(name,age){//重新父类的sayHello方法//注意override 是关键字override def sayHello(): String = "子类中的sayHello方法"}object Demo {//测试程序def main(args: Array[String]): Unit = {//创建一个Employee的对象var p2:Person = new Employee("Mike",25,1000)println(p2.sayHello())//使用匿名子类来创建Person对象//这里我们创建了Person的一个匿名子类,并且在该子类中重写了sayHello方法。var p3:Person = new Person("Jerry",26) {override def sayHello(): String = "匿名子类中的sayHello方法"}println(p3.sayHello())}}

案例二:在子类中重写父类的方法

//子类class Employee (override val name:String,override val age:Int,val salary:Int) extends Person(name,age){//重新父类的sayHello方法override def sayHello(): String = "子类中的sayHello方法"}

案例三:使用匿名子类

//使用匿名子类来创建Person对象//这里我们创建了Person的一个匿名子类,并且在该子类中重写了sayHello方法。var p3:Person = new Person("Jerry",26) {override def sayHello(): String = "匿名子类中的sayHello方法"}println(p3.sayHello())

案例四:使用抽象类。抽象类中包含抽象方法,抽象类只能用来继承。


//Scala中的抽象类//父类:抽象类abstract class Vehicle{//定义抽象方法def checkType():String}//子类class Car extends Vehicle {//实现checkType 方法override def checkType(): String = {"I am a Car"}}class Bycical extends Vehicle {//实现checkType方法override def checkType(): String = {"I am a bike"}}object Demo2 {//定义两个交通工具def main(args: Array[String]): Unit = {var v1:Vehicle = new Carprintln(v1.checkType())var v2:Vehicle = new Bycicalprintln(v2.checkType())}}

案例五:使用抽象字段。抽象字段就是一个没有初始值的字段


package class4//Scala中的抽象字段:就是没有初始值的字段//抽象的父类abstract class Person{//第一个抽象字段,并且只有get方法val id:Int//另一个抽象字段,并且有get和set方法var name:String}//子类:应该提供抽象字段的初始值,否则该子类也,应该是抽象的abstract class Employee1 extends Person {//val id:Int = 1var name:String = "No Name"}class Employee2(val id:Int) extends Person {var name:String = "No Name"}object Demo3 {def main(args: Array[String]): Unit = {var a:Person = new Employee2(1)println(a.id,a.name)}}

9、Scala中的trait(特质)

trait就是抽象类。trait跟Java抽象类最大的区别:trait支持多重继承


package class4/** Scala中的trait* 1.trait 就是抽象类* 2.区别:trait 支持多重继承*///第一个traittrait Human {val id:Intval name:String//方法def sayHello():String = "Hello" + name}//第二个traittrait Actions {//抽象方法def getActionNames():String}//子类class Student(val id:Int,val name:String) extends Human with Actions {override def getActionNames(): String = "Action is running"}object Demo4 {def main(args: Array[String]): Unit = {//创建一个student的对象var s1 = new Student(1,"Tom")println(s1.sayHello())println(s1.getActionNames())}}

10、包的使用

Scala的包和Java中的包或者C++中的命名空间的目的是相同的:管理大型程序中的名称。

Scala中包的定义和使用:

包的定义

包的引入:Scala中依然使用import作为引用包的关键字,例如

而且Scala中的import可以写在任意地方

11、包对象

包可以包含类、对象和特质,但不能包含函数或者变量的定义。很不幸,这是

Java虚拟机的局限。把工具函数或者常量添加到包而不是某个Utils对象,这是

更加合理的做法。Scala中,包对象的出现正是为了解决这个局限。Scala中的包

对象:常量,变量,方法,类,对象,trait(特质)


package class4//Scala中的包对象:常量,变量,方法,类,对象,trait(特质)//定义一个包对象package object MyPackageObject {//常量val x:Int = 0//变量var y:String = "Hello World "//方法def sayHelloWorld():String = "Hello World"//类class MyTestClass {}//对象objectobject MyTestObject {}//特质 traittrait MyTestTrait {}}class Demo3 {//测试def method1 = {//导入需要的包对象import class4.MyPackageObject._//定义MyTestClass的一个对象var a= new MyTestClass}}

12、Scala中的文件访问

读取行


val source = scala.io.Source.fromFile("e:\\temp\\a.txt")println(source.mkString)val lines = source.getLines()for(l<-lines) println(l.toString)

读取字符


val source = scala.io.Source.fromFile("e:\\temp\\a.txt")for(c <-source) println(c)

其实这里的source就指向了这个文件中的每个字符。

http://www.jmfq.cn/news/5344435.html

相关文章:

  • 河南省建设厅网站154号文件/自己怎么免费做网站网页
  • 网站的建设主题/电商代运营
  • 外贸西班牙语网站建设/网站发布与推广方案
  • 公司网站建设的通知/自己建网站怎么推广
  • 福州有网站建设的公司排名/淘宝怎么做引流和推广
  • 越南网站建设/识图
  • 山东省无障碍网站建设标准/网络营销和直播电商专业学什么
  • 卢氏县住房和城乡建设局网站/qq排名优化网站
  • 云南省建设系统网站/哈尔滨seo
  • 推进政府网站建设的措施/百度网站优化公司
  • 国家建设工程造价数据监测平台在哪个网站/seo的内容怎么优化
  • 建设部网站资质核查/精准引流的网络推广方法
  • 怎样建设网站公司/图片识别 在线识图
  • 郑州网站推建设/微信引流的十个方法
  • 网站建设流费用/营销网站建设制作
  • 郑州云拓网站建设公司/创意营销
  • 宁夏住房和城乡建设厅门户网站/免费域名解析网站
  • 网站建设零基础教学/google搜索排名优化
  • 高校档案馆网站建设/八大营销方式有哪几种
  • 南京建设局的网站首页/线上营销策略
  • 共享农业网站建设/aso优化技巧
  • 网站建设维护岗位职责/博客seo优化技术
  • 网站建设的基本教程/sem培训班
  • 怎么建设一个简单的网站/营口建网站的公司
  • 绍兴市住房和城乡建设局网站/优化公司网站排名
  • 网站建设私单合同/网站优化公司认准乐云seo
  • 政府网站集约化建设规划/html网页制作模板
  • 齐河网站建设费用/竞价推广账户托管服务
  • 郑州网站建设推销/网页设计与网站建设教程
  • 网站建设的三网合一/qq关键词排名优化