¸üÐÂʱ¼ä:2021Äê07ÔÂ16ÈÕ17ʱ01·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

ÔÚScalaÖУ¬Ã»Óо²Ì¬·½·¨»ò¾²Ì¬×ֶΣ¬ËùÒÔ²»ÄÜÓÃÀàÃûÖ±½Ó·ÃÎÊÀàÖеķ½·¨ºÍ×ֶΣ¬¶øÊÇ´´½¨ÀàµÄʵÀý¶ÔÏóÈ¥·ÃÎÊÀàÖеķ½·¨ºÍ×ֶΡ£µ«ÊÇ£¬ScalaÖÐÌṩÁËobjectÕâ¸ö¹Ø¼ü×ÖÓÃÀ´ÊµÏÖµ¥Àýģʽ£¬Ê¹Óùؼü×Öobject´´½¨µÄ¶ÔÏóΪµ¥Àý¶ÔÏó¡£
´´½¨µ¥Àý¶ÔÏóµÄÓï·¨¸ñʽÈçÏ£º
object objectName
ÉÏÊöÓï·¨¸ñʽÖУ¬¹Ø¼ü×ÖobjectÖ÷ÒªÓÃÓÚ´´½¨µ¥Àý¶ÔÏó£»objectNameΪµ¥Àý¶ÔÏóµÄÃû³Æ¡£
ÏÂÃæ£¬´´½¨Ò»¸öµ¥Àý¶ÔÏóSingletonObject£¬´úÂëÈçÎļþ1Ëùʾ¡£
Îļþ1 Singleton.scala
//µ¥Àý¶ÔÏó
object SingletonObject {
def hello() {
println("Hello, This is Singleton Object")
}
}
object Singleton {
def main(args: Array[String]) {
SingletonObject.hello()
}
}
ÉÏÊö´úÂëÖУ¬µÚ2-4ÐдúÂëÊÇ´´½¨ÁËÒ»¸öµ¥Àý¶ÔÏóSingletonObject£¬²¢ÔڸöÔÏóÖж¨ÒåÁËÒ»¸ö·½·¨hello()£»µÚ8-9ÐдúÂëÊÇÖ÷·½·¨main()£¬²¢ÔÚÖ÷·½·¨ÖÐʹÓõ¥Àý¶ÔÏó·ÃÎÊ×Ô¼ºµÄ·½·¨hello()¡£
ÔËÐÐÉÏÊöÎļþ1ÖеĴúÂ룬Ч¹ûÈçͼ1Ëùʾ¡£

ͼ1 µ¥Àý¶ÔÏóµÄÔËÐнá¹û
ÔÚScalaÖУ¬ÔÚÒ»¸öÔ´ÎļþÖÐÓÐÒ»¸öÀàºÍÒ»¸öµ¥Àý¶ÔÏó£¬Èôµ¥Àý¶ÔÏóÃûÓëÀàÃûÏàͬ£¬Ôò°ÑÕâ¸öµ¥Àý¶ÔÏó³Æ×÷°éÉú¶ÔÏó£¨companion object£©£»Õâ¸öÀàÔò±»³ÆÎªÊǵ¥Àý¶ÔÏóµÄ°éÉúÀࣨcompanion class£©¡£ÀàºÍ°éÉú¶ÔÏóÖ®¼ä¿ÉÒÔÏ໥·ÃÎÊ˽Óеķ½·¨ºÍ×ֶΡ£
ÏÂÃæ£¬¶¨ÒåÒ»¸ö°éÉú¶ÔÏóDog£¬ÑÝʾ²Ù×÷ÀàÖеÄ˽Óз½·¨ºÍ×ֶΡ£¾ßÌå´úÂëÈçÎļþ2Ëùʾ¡£
Îļþ2 Dog.scala
class Dog {
val id = 666
private var name = "¶þ¹þ"
def printName(): Unit ={
//ÔÚDogÀàÖпÉÒÔ·ÃÎʰéÉú¶ÔÏóDogµÄ˽ÓÐ×Ö¶Î
println(Dog.CONSTANT + name)
}
}
//°éÉú¶ÔÏó
object Dog{
//°éÉú¶ÔÏóÖеÄ˽ÓÐ×Ö¶Î
private var CONSTANT = "ÍôÍôÍô¡£¡£¡£"
//Ö÷·½·¨
def main(args: Array[String]): Unit = {
val dog = new Dog
//·ÃÎÊ˽ÓеÄ×Ö¶Îname
dog.name = "¶þ¹þ666"
dog.printName()
}
}
ÉÏÊö´úÂëÖУ¬µÚ1-6ÐдúÂëÊÇ´´½¨ÁËÒ»¸öÀàDog£¬²¢ÔÚ¸ÃÀàÖж¨ÒåÁËÁ½¸ö×Ö¶Îid¡¢nameÒÔ¼°Ò»¸ö·½·¨printName()£»µÚ10-18ÐдúÂëÊÇ´´½¨Ò»¸ö°éÉú¶ÔÏóDog£¬²¢ÔڸöÔÏóÖж¨ÒåÒ»¸ö×Ö¶ÎCONSTANT£¬ÔÚÖ÷·½·¨mainÖУ¬´´½¨DogÀàµÄʵÀý¶ÔÏó£¬ÔÙʹÓÃʵÀý¶ÔÏó·ÃÎÊÀàÖеÄ×ֶκͷ½·¨¡£
ÔËÐÐÉÏÊöÎļþ2ÖеĴúÂ룬Ч¹ûÈçͼ2Ëùʾ¡£

ͼ2 °éÉú¶ÔÏó·ÃÎÊÀàÖз½·¨ºÍ×ֶεÄÔËÐнá¹û
jsÈçºÎ½«json×Ö·û´®×ª»»Îªjson¶ÔÏó£¿
SeleniumºÍPhantomJSÈçºÎ½áºÏʹÓã¿
JsonPath»ù±¾Óï·¨½éÉÜ£ºJsonPathÓ÷¨Ïê½â
ÀÖÓãµç¾ºHTMLǰ¶ËÓëÒÆ¶¯¿ª·¢¸ßÊÖ°à
±±¾©Ð£Çø