object

package com.bjsxt.scala
/**
 * 1.object 是scala中的对象,相当于java中的单例对象。object中定义的全都是静态的。main函数写在object中
 * 2.scala中一行代码后面可以省略“;”,会有分号自动推断机制,如果多行写在一行中,分号不能省略
 * 3.scala中定义变量使用var ,定义常量使用val ,变量可以改变,常量不可以改变。定义的变量和常量后面的类型可以省略。
 * 4.建议在scala中命名要符合驼峰命名法。
 * 5.scala中类可以传参,传参就有了默认的构造。参数要指定类型。类中的属性默认有getter,setter方法。
 * 6.scala重写构造方法 第一行首先要调用默认构造
 * 7.当new 一个类时,类中除了方法(不包含构造)不执行,其他都执行。
 * 8.object和class如果名称一样,这个object叫做这个class的伴生对象,这个class叫做这个object的伴生类,他们之间可以互相访问私有变量.
 */
class Person(xname:String,xage:Int){
  private var name = xname
  val age = xage
  var gender = 'm'
  def this(yname:String,yage:Int,ygender:Char){
    this(yname,yage)
    this.gender = ygender
  }
  
//  def showScore() = {
//    println("score is "+Lesson_ClassAndObj.score)
//  }
  
//  println("***************************")
}

object Person {
	println("===================")
  val score = 200
  def main(args: Array[String]): Unit = {
//    /**
//     * while()... 
//     * do...while()
//     */
//    var i =0 
//    while(i<100){
//      println(i)
////      i = i+1 
//      i += 1
//    }
    
    /**
     * for 
     */
//    println(1 to (10,2))//包含10
//    println(1 to 10)//包含10
//    println(1 until (10,3))//不包含10
//    for(i <- 1 to 9){
//      for(j <- 1 until 10){
//        if(i>=j){
//          print(i+"*"+j+"="+i*j+"	")
//        }
//        if(i==j){
//          println()
//        }
//      }
//    }
//    for(i <- 1 to 9;j <- 1 until 10){
//    		if(i>=j){
//    			print(i+"*"+j+"="+i*j+"	")
//    		}
//    		if(i==j){
//    			println()
//    		}
//    }
//    for(i <- 1 to 100 if(i%2==0) if(i==98)){
//      println(i)
//    }
    
//    var v = for(i <-1 to 100 ;if(i>50)) yield i
//    println(v)
    
    /**if...else***/
//    var age = 19
//    if(age<18){
//      println("不可观看")
//    }else if(age>=18&&age<=40){
//      println("可以观看")
//    }else {
//      println("有人陪同")
//    }
    
    
//	  val person = new Person("diaochan",18)
//    println(person.name)
    
//	  val person = new Person("diaochan",18)
//	  person.showScore()
//    println(person.name)
//    println(person.age)
//    println(person.gender)
//    val person = new Person("lisi",20)
//    person.name = "wangwu"
//    println(person.name)
//    
    
//    val a = 100 
//    var b = 200
//    b = 300
//    println(b)
    
   
  }
  
}

  

原文地址:https://www.cnblogs.com/huiandong/p/9278291.html