package org.xj.scala.spark
class ApplyTest {
def apply() = "APPLY"
def test {
println("test")
}
}
object ApplyTest { //本身就是一个单例
var count = 0 //定义一个常量
def apply() = new ApplyTest //new一个apply方法
def static {
println("i'm a static method")
}
def incr = {
count = count + 1
}
}
class Basic4 {
}
object Basic4 extends App { //object 里面的方法可以看到是静态方法
//ApplyTest.static //对象名直接调用
// val a = ApplyTest() //类名后面加一个括号,其实就已经调用了object的apply()方法,初始化了对象返回给a
// a.test
// val t = new ApplyTest //得到一个t对象
// println(t()) //t() 是调用类的apply方法
// println(t) //打印为一个对象
for (i <- 1 to 10) {
ApplyTest.incr
}
println(ApplyTest.count);
}
/**
* Play
*
* package org.xj {
* //---------只能看到自己的包,不能被下面访问
*
* package org.spark {
* }
* }
*
* 同上作用
* package com.a
* package b
* {
* import xxx.xxx.xx 引入:出了块即可失效
*
* }
*
* import java.util.(HashMap => JavaHashMap)
*
* HashMap => _ //隐藏方法
*
*
* package aa.bb.cc.dd
* class XXX {
* private[dd] def asassa = { //sasasa只能被dd下面的类或者object访问
* }
* }
*/
class ApplyTest {
def apply() = "APPLY"
def test {
println("test")
}
}
object ApplyTest { //本身就是一个单例
var count = 0 //定义一个常量
def apply() = new ApplyTest //new一个apply方法
def static {
println("i'm a static method")
}
def incr = {
count = count + 1
}
}
class Basic4 {
}
object Basic4 extends App { //object 里面的方法可以看到是静态方法
//ApplyTest.static //对象名直接调用
// val a = ApplyTest() //类名后面加一个括号,其实就已经调用了object的apply()方法,初始化了对象返回给a
// a.test
// val t = new ApplyTest //得到一个t对象
// println(t()) //t() 是调用类的apply方法
// println(t) //打印为一个对象
for (i <- 1 to 10) {
ApplyTest.incr
}
println(ApplyTest.count);
}
/**
* Play
*
* package org.xj {
* //---------只能看到自己的包,不能被下面访问
*
* package org.spark {
* }
* }
*
* 同上作用
* package com.a
* package b
* {
* import xxx.xxx.xx 引入:出了块即可失效
*
* }
*
* import java.util.(HashMap => JavaHashMap)
*
* HashMap => _ //隐藏方法
*
*
* package aa.bb.cc.dd
* class XXX {
* private[dd] def asassa = { //sasasa只能被dd下面的类或者object访问
* }
* }
*/