scala中的类和对象

Posted xumaomao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中的类和对象相关的知识,希望对你有一定的参考价值。

1.scala中定义在object中的变量,方法都是静态的,object叫对象,相当于java中的单例对象。object不可以传参,Trait也不可传参。
2.scala 中一行代码后可以写“;”也可以不写,会有分号推断机制。多行代码写在一行要用分号隔开。
3.定义变量用var,定义常量用val , a: Int ": Int" 是变量的类型,可以写也可以不写,不写会自动推断变量类型
4.scala中变量,类,对象,方法定义建议符合驼峰命名法。
5.class 是scala中的类,类可以传参,传参就有了默认的构造函数。类中的属性默认就有getter,setter方法。重写构造,第一行要调用默认的构造
6.当new 一个class时,类中除了方法不执行,其他都执行。同一个包下,class的名称不能相同。
7.scala中 如果一个class名称和object的名称一致,那么这个class叫做这个object的伴生类,这个object叫做这个class的伴生对象,他们之间可以互相访问私有变量。

技术图片
package com.bjsxt.scala

class Person(xname:String,xage:Int){
  private val name = xname
  var age = xage
  var gender = ‘m‘
  
//  println("************************")
  
  /**
   * 重写构造
   */
  def this(yname:String,yage:Int,ygender:Char){
    this(yname,yage)
    this.gender = ygender 
  }
  
  def showHello() ={
    println("hello world")
  }
  
  
}


object Person {
//    println("=====================")
  
//  val score = 200
  
  
  def main(args: Array[String]): Unit = {
    
      /**
       * if ... else
       */
//      val a = 100
//      if(a<50){
//        println("a 小于50")
//      }else if(a>=50 && a<=100){
//          println("50<=a<=100")
//        
//      }else{
//          println("a>100")
//      }
    
    /**
     * for
     * 
     * 1 to 10 这种表示是scala中的操作符操作。
     * 步长。
     */
      
//    println(1.to(10,2))
//    println(1 until (10,3))//1,4,7
    
//    for(i <- 1 to 10 ){
//      for(j <- 1 to 10){
//        println("i = "+i+" j="+j)
//      }
//    }
    
    /**
     * 小九九
     */
//    for(i <- 1 to 9;j <- 1 to 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)
//    }
    
//         val result =  for(i<- 1 to 1000 if(i%10==0)) yield i
//       println(res/ult)
//         result.foreach(a=>{
//           println(a)
//         })
//         
         
         
//    val person = new Person("zhangsan",18)
//    
//    println(person.name)
    
//    person.age = 100
//    println(person.gender)
//    
//    val p1 = new Person("diaochan",20,‘f‘)
//    println(p1.gender)
//    p1.showHello()
    
    /**
     * 变量 常量
     */
//    var b = 20
//    val a = 100
//    println(a)
    
    
  }
}
View Code

 

以上是关于scala中的类和对象的主要内容,如果未能解决你的问题,请参考以下文章

Scala 系列—— 类和对象

scala编程——类和对象

简单定义Python和Scala的类和对象

Scala_类和对象

Matlab 中的类和 switch 语句

包和引入