Spark基础-Scala面向对象


核心
1、scala面向对象基础

package com.xlucas

/**
* Created by xlucas on 2017/8/16 0016.
* 1、scala中定义类用class关键字
* 2、可以使用new 关键字来构建出对象
* 3、如果名称相同,则object中的内容都是class的静态内容,也就是说object中的内容class都可以在没有实例的情况下直接调用
* 所以可以使用object中的特定方法来创建类的实例,而这个特定方法就是apply方法。
* 4、object中的apply方式是class对象生成的工厂方法,用于控制对象的生成
* 5、很多框架的代码一般直接调用抽象类的object的apply方法生成类的实例对象
* 6、object是class的伴生对象 class是object伴生类。class可以访问object中的一切内容,object可以访问class中一切内容
* 7、在定义scala的class的时候可以直接在类后面()里加入构造参数,此时也需在apply方法中也必须有这些参数
*/

class ScalaOop(age:Int){
var name="spark"
def sayHello={
println("hello "+name+" "+age)
}
}
object ScalaOop {
def main(args: Array[String]): Unit = {
val scalaoop=new ScalaOop(20)//先实例化在调用
scalaoop.sayHello
ScalaOop(10).sayHello//直接通过类名调用class里面的方法
}
def apply(age :Int): ScalaOop = {
new ScalaOop(age)
}
}
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告