zoukankan      html  css  js  c++  java
  • scala的Class

    先看类的定义:

    package com.test.scala.test
    
    import scala.beans.BeanProperty
    
    
    /**
     * scala 的类
     */
    //定义一个scala的类
    class ScalaClass {
      
    
      
      private var count:Int=0;
      
      def incremet():Int={
        count+=1
        count
      }
      
      def value=incremet()
      
      //就这样定义一个age属性,它会自动生成get 与 set 方法,age对应的get方法为 对象.age,set方法为 对象age= 赋值即可。
      //这个只是针对var 定义的字段
      var age=23;
      
      //如果是val定义的字段,那么它只有get方法,如:
      val hellworld="hellowold";
      
      private[this] var b=9;//这代码可以限制对象访问
      
      
      //如果你想与javabean相互操作,就采用@BeanProperty,此属性会生成对应的get与set方法
      @BeanProperty var sex="男";
      
      var name=""
      
      //我们定义两个辅助构造器
      def this(name:String){
        this()
        this.name=name;
      }
      
      def this(name:String,age:Int){
        this(name)
        this.age=age
      }
    
      //主构造器用类名来实现,如
      class ScalaClass(aa:String){
        println("主构造器打印的内容:"+aa)
      }
      
      
    }
    package com.test.scala.test
    
    import scala.collection.mutable.ArrayBuffer
    
    class NetWork {
      class Member(val name:String){
        val contancts=new ArrayBuffer[NetWork#Member]
      }
      val members=new ArrayBuffer[NetWork#Member]
      
      def join(name:String)={
        val m=new Member(name)
        members+=m
        m
      }
    }

    最后看类的生成:

    package com.test.scala.test
    
    import java.nio.channels.NetworkChannel
    
    object ScalaClassTest {
      
      def main(args: Array[String]): Unit = {
        
        var test=new ScalaClass("sss")
        test.incremet();
        println(test.incremet());
        println(test.incremet())
        println(test.value)
        
        //对象字段赋值与取值哈
        test.age=33;
        println(test.age)
        
        test.setSex("女")
        println(test.getSex())
        
        //定义一个时间
        val time=new java.util.Date().getTime
        println(time)
        
        var chatter=new NetWork
    
        
        var fred=chatter.join("fred")
        var wills=chatter.join("wills")
        
        fred.contancts+=wills
        
      }
      
    }
  • 相关阅读:
    二维数组排序
    php-快速排序
    sql优化相关
    全页面静态化缓存
    php--1-100相加之和
    php--阶乘
    socket
    posix_getpid 函数win下失效问题
    水仙花数
    常用的魔术方法
  • 原文地址:https://www.cnblogs.com/huzi007/p/6092791.html
Copyright © 2011-2022 走看看