先看类的定义:

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 } }

scala的Class的更多相关文章

  1. jdb调试scala代码的简单介绍

    在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都 ...

  2. scala练习题1 基础知识

    1, 在scala REPL中输入3. 然后按下tab键,有哪些方法可以被调用? 24个方法可以被调用, 8个基本类型: 基本的操作符, 等:     2,在scala REPL中,计算3的平方根,然 ...

  3. 牛顿法求平方根 scala

    你任说1个整数x,我任猜它的平方根为y,如果不对或精度不够准确,那我令y = (y+x/y)/2.如此循环反复下去,y就会无限逼近x的平方根.scala代码牛顿智商太高了println( sqr(10 ...

  4. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  5. Scala化规则引擎

    1. 引言 什么是规则引擎 一个业务规则包含一组条件和在此条件下执行的操作,它们表示业务规则应用程序的一段业务逻辑.业务规则通常应该由业务分析人员和策略管理者开发和修改,但有些复杂的业务规则也可以由技 ...

  6. Scala快速概览

    IDEA工具安装及scala基本操作 目录 一. 1. 2. 3. 4. 二. 1. 2. 3. 三. 1. 2. 3. 4. 5. 6. 7. 四. 1. (1) (2) (3) (4) (5) ( ...

  7. Scala Macros - scalamela 1.x,inline-meta annotations

    在上期讨论中我们介绍了Scala Macros,它可以说是工具库编程人员不可或缺的编程手段,可以实现编译器在编译源代码时对源代码进行的修改.扩展和替换,如此可以对用户屏蔽工具库复杂的内部细节,使他们可 ...

  8. Scala Macros - 元编程 Metaprogramming with Def Macros

    Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level programming)都无法解决的问题,这是因为S ...

  9. Scala Reflection - Mirrors,ClassTag,TypeTag and WeakTypeTag

    反射reflection是程序对自身的检查.验证甚至代码修改功能.反射可以通过它的Reify功能来实时自动构建生成静态的Scala实例如:类(class).方法(method).表达式(express ...

  10. Scala For Java的一些参考

          变量 String yourPast = "Good Java Programmer"; val yourPast : String = "Good Java ...

随机推荐

  1. Java Arrays.sort相关用法与重载

    Java Arrays.sort() Java中的数组排序函数, 头文件 import java.util.Arrays; 相关API Arrays.sort(arys[]) Arrays.sort( ...

  2. Contemplation! Algebra 矩阵快速幂

    Given the value of a+b and ab you will have to find the value of a n + b n Input The input file cont ...

  3. FreeMarker与Spring MVC 4集合的HelloWorld示例

    0.整体的项目结构 1.引入POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...

  4. Jupyter Notebook: 解决build docker-stacks时conda太慢的问题

    当想使用docker安装Jupyter Notebook时,有一个很好的项目是docker-stacks(https://github.com/jupyter/docker-stacks/tree/m ...

  5. MySQL: 打开binlog选项后无法重启MySQL

    binlog目录权限不足导致,用chown mysql:mysql <log folder>即可解决此问题.

  6. bzoj1072【SCOI2007】排列perm

    1072: [SCOI2007]排列perm Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1479  Solved: 928 [id=1072&q ...

  7. 开源软件Review Board

    开源软件, Review Board 代码审查的. https://www.reviewboard.org/

  8. git 手动操作

    git 手动操作 以下所有的情况都需要在上面那个目录下: 查看改动: git status // 所有改动都在这里. 提交代码: git add <file_name> // 把代码放到 ...

  9. [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容

    原文地址:http://blog.csdn.net/lovelyelfpop/article/details/50848524 插件地址:https://github.com/nordnet/cord ...

  10. 编程算法 - 求1+2+...+n(函数继承) 代码(C++)

    求1+2+...+n(函数继承) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\whi ...