1 package big.data.analyse.scala.classes 2 3 /** 4 * Created by zhen on 2018/9/11. 5 * 伴生对象 6 */ 7 //定义私有的构造方法 8 class Marker private(val color : String){ 9 override def toString() : String = "marker color " + color 10 } 11 object Marker{ 12 private val markers = Map( 13 "red" -> new Marker("red"), 14 "blue" -> new Marker("blue"), 15 "green" -> new Marker("green") 16 ) 17 def apply(color : String) = if(markers.contains(color)) markers(color) else null 18 } 19 object Main{ 20 def main (args: Array[String]) { 21 //Error:(33, 18) constructor Marker in class Marker cannot be accessed in object Main 22 //val marker = new Marker("haha") 23 println(Marker("blue")) 24 println(Marker("green")) 25 println(Marker("red")) 26 println(Marker("white")) 27 } 28 }
Scala伴生对象
猜你喜欢
转载自www.cnblogs.com/yszd/p/9628081.html
今日推荐
周排行