类的定义

使用class定义

类的字段
在类中使用var,val定义字段

类的方法
scala中,使用var定义字段默认提供setter和getter方法
对应名称为 value_= 和value

 /**
* 类和对象
*/
class TestClass41{
var value = 100
} object TestObject41 {
//java中类的实例化称之为对象
//scala中对象使用object表示,单独的类型
//提供类似静态字段和静态方法的功能 ,scala不在有静态字段和静态方法
var value = 200
} object TestScala41{
def main(args: Array[String]): Unit = {
//调用对象中的类型
println(TestObject41.value) //class类,调用其中内容是需要先实例化
var c = new TestClass41
println(c.value)
}
}
 /**
* 类的内容
*/
class TestClass42{
// @BeanProperty var value = 100
// private[this] var value = 100
var value = 100 } object TestScala42 {
def main(args: Array[String]): Unit = {
//class类,调用其中内容是需要先实例化
//scala中默认对类中的字段生产对应setter和getter方法,分别是value_=和value
var c = new TestClass42
c.value_=(200) //setValue() 方法
println(c.value) //getValue() 方法
}
}

对象

伴生对象

定义 Object是一种类型,与class非常相似。 Object可以提供java中的静态字段、静态方法的功能。

 /**
* 伴生对象
* @author Administrator
*/
class TestObject43{
def display = {
TestObject43.value
}
} //伴生对象 同名类可以访问伴生对象私有字段
object TestObject43{
private var value = 200
} object TestScala43 {
def main(args: Array[String]): Unit = {
//println(TestObject43.value)
var c = new TestObject43
println(c.display)
}
}
 /**
* 类的基本内容
*/
class TestClass44{
private var value = 100
//在开发中会有自定义setter和getter的时候,所以这个时候不用默认的setter和getter方法.
def setValue(a:Int) {
if(a>0)
this.value = a
}
def getValue = {
this.value
}
} object TestScala44 {
def main(args: Array[String]): Unit = {
var c = new TestClass44
//c setValue 1000 scala中的简写很多...简写成这样也是可以的.
c.setValue(1000)
println(c.getValue)
}
}

Scala中的类和对象的更多相关文章

  1. Programming In Scala笔记-第十一章、Scala中的类继承关系

    本章主要从整体层面了解Scala中的类层级关系. 一.Scala的类层级 在Java中Object类是所有类的最终父类,其他所有类都直接或间接的继承了Object类.在Scala中所有类的最终父类为A ...

  2. Scala学习(五)---Scala中的类

    Scala中的类 摘要: 在本篇中,你将会学习如何用Scala实现类.如果你了解Java或C++中的类,你不会觉得这有多难,并且你会很享受Scala更加精简的表示法带来的便利.本篇的要点包括: 1. ...

  3. Scala中的类学习

    Scala中的类学习 从java了解类的情况下,了解Scala的类并不难.Scala类中的字段自动带getter和setter方法,用@BeanProperty注解生成javaBean对象的getXX ...

  4. 【PHP】PHP中的类与对象

    面向对象并不是PHP的关键,但PHP确实能很好的支持面向对象编程,而且类与对象也成为了PHP5的核心组成部分.PHP的面向对象特性让构建大型的复制应用成为可能,有了类与对象,就自然产生了各种编程范式和 ...

  5. 【JAVA零基础入门系列】Day11 Java中的类和对象

    今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...

  6. Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象

    15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...

  7. Java学习笔记十三:Java中的类和对象

    Java中的类和对象 一:什么是对象: 总的来说就是"万物皆对象",客观存在的事物皆为对象.是计算机所关注的具体信息. 对象(object)是一件事.一个物体.一个名词,或可以获得 ...

  8. Java程序设计基础笔记 • 【第7章 Java中的类和对象】

    全部章节   >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 ...

  9. scala学习笔记——类和对象

    基础语法关于Scala程序,这是非常要注意以下几点. 区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类名 - 对于所有的类名的第一个字 ...

随机推荐

  1. 软件工程个人作业——Agile Software Development读后感

    昨天利用了半天的时间看了下老师给的网页下的8篇文章和一段宣言,将感悟整理为下面的一篇博客. 首先先介绍一下这个网页.记得我们上学期上过一门课叫做面向对象建模方法,在这门课上刘超老师极力推荐的一本教材— ...

  2. XML学习笔记(2)--dom4j操作XML

    1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...

  3. Spring EL Lists, Maps example

    In this article, we show you how to use Spring EL to get value from Map and List. Actually, the way ...

  4. HDU 1796How many integers can you find(简单容斥定理)

    How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  5. MongoDB 快速入门--初级

    数据库的操作一般来说都是CRUD,这其中最难的就是查询,所有所我们先来了解MongoDB中的 插入(insert) 说到插入,我们就必须得说说如何创建数据库,如何创建集合,然后才是如何创建文档. 在这 ...

  6. 字符串匹配 - KMP算法

    #include<cstdio> #include<cstring> #include<cstdlib> void GetNext(char *t,int *nex ...

  7. nginx安装-源码编译

    官方文档:http://nginx.org/en/docs/configure.html 参考:http://jingyan.baidu.com/article/e2284b2b45f693e2e61 ...

  8. 如何将mysql表结构导出成Excel格式的(并带备注)

    http://www.liangchan.net/liangchan/4561.html 1.使用一个mysql管理工具:SQLyog,点击菜单栏“数据库”下拉的最后一项: 导出的格式如下: 2.要想 ...

  9. SPOJ LIS2 Another Longest Increasing Subsequence Problem 三维偏序最长链 CDQ分治

    Another Longest Increasing Subsequence Problem Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://a ...

  10. 纯Javascript实现Windows 8 Metro风格实现

    Metro风格设计主要特点 1.Windows 8 Metro风格设计,实现网站或系统功能的导航 2.纯Javascript实现 3.支持所有IE.360.Chrome等常用浏览器 4.支持圆角.阴影 ...