chapter05
/**
* Created by EX-CHENZECHAO001 on 2018-03-29.
*/
class Chapter05 { } // 类
// 类中的字段自动带有getter方法和setter方法 // 5.1 简单类和无参方法
class Counter {
private var value = 0 // 必须初始化字段
def increment(): Unit ={ // 方法默认是仅有的
value += 1
}
def current() = value // 用时可用()也可不用counter.current()
def currentNew = value // 用时不可用() counter.currentNew
} // 5.2 带getter和setter的属性
class Person {
var age = 0
} object Person {
val person = new Person()
println(person.age) // getter方法
person.age = 10
println(person.age) // getter方法
} class Person2 {
private var privateAge = 0 // 变成私有并改名
def age = privateAge def age_=(newValue: Int): Unit = {
if (newValue > privateAge) {
privateAge = newValue
}
}
} object Person2 {
val person2 = new Person2()
person2.age_=(20)
println(person2.age)
person2.age_=(11)
println(person2.age)
} // 如果字段是私有的,则getter和setter方法也是私有的
// 如果字段是val,则只有getter方法被生成
// 如果不需要任何getter或setter,可以将字段声明为private[this] // 5.3 只带getter的属性
class Message {
// scala会生成一个私有的final字段和一个getter方法,但没有setter方法
val timeStamp = new java.util.Date().getTime // 实现属性的4个选择
// var foo: Scala自动合成一个getter和setter
// val foo: Scala自动合成一个getter
// 由你定义foo和foo_=方法
// 由你来定义foo方法 } object Chapter05 { def main(args: Array[String]): Unit = {
val counter = new Counter()
counter.increment()
counter.increment()
counter.increment()
println(counter.current())
println(counter.currentNew) Person2
} }
chapter05的更多相关文章
- Chapter05 流程控制(Process Control)
目录 Chapter05 流程控制 5.1 顺序控制 5.2 分支控制 if-else 单分支基本语法: 双分支基础语法: 多分支基础语法 5.3 嵌套分支 5.4 switch分支结构 5.5 Fo ...
- Java核心技术 卷I chapter05 继承
2017年4月10日19:41:44 仅仅用于打好基础 1. 在Java中,所有的继承都是公有继承,而没有C++中的私有继承和保护继承! 2.关键字super的使用方法: (1) 子类中想调用父类中的 ...
- Java 8函数编程轻松入门(四)方法引用
C#中系统提供了许多IEnumerable的扩展方法.同样在Java 8中新引入了Collector类. 1.方法引用 定义: 简而言之:就是一个Lambda表达式.在Java 8中,我们我们会使用L ...
- Linux编译安装源码包的流程
流程: 1. 下载并解压源码包2. 运行:configure3. 编译:make4. 安装:make install 编译时需要注意一个原则:不要在解压的包中直接执行./configure.m ...
- 5Hibernate配置及使用方法----青软S2SH(笔记)
关于hibernate的简单配置,先看结构图,我们需要 1.还要弄一下需要的 jar包. 2.配置两个文件(hibernate配置文件和映射文件),不过映射文件可以用注解替代. 3.写一个pojo类, ...
- Epub基础知识介绍
转载自:http://www.cnblogs.com/linlf03/archive/2011/12/13/2286218.html 一.什么是epub epub是一个完全开放和免费的电子书标准.它可 ...
- spring-表达式语言-SpEL【转】
Spring表达式语言(Spring Expression Language)简称:SpEL 课程概要: Spring表达式语言的入门介绍 Spring表达式语言的操作范围 Spring表达式语言的运 ...
- django 模型
一.project 与app之间的关系 1个project中可包含多个app eg:包含两个app的project的结构
- Python Django 数据库操作
1. 建立app 在自己的工程项目目录下输入: python manage.py startapp myapp(你想建立的app名称) 建立一个叫myapp的app 这样,在你的工程项目目录下会出现一 ...
随机推荐
- JavaScript编写代码时候没有提示
如上图所示如果没有提示可能是箭头所指示的类型不正确.
- java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?
转自:https://yq.aliyun.com/wenzhang/show_96854 问题描述 java验证,”支持6-20个字母.数字.下划线或减号,以字母开头“这个的正则表达式怎么写? 验证” ...
- 串口发送Hex数组
void MainWindow::String2Hex(QString str, QByteArray &senddata) { int hexdata,lowhexdata; ; int l ...
- USACO-Greedy Gift Givers(贪婪的送礼者)-Section1.2<2>
[英文原题] Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange ...
- shell判断网络主机存活
判断网络主机存活企业面试题4:写一个脚本,实现判断10.0.0.0/24网络里,当前在线用户的IP有哪些(方法有很多) #!/bin/sh#[ -f /etc/init.d/functions ] & ...
- [51nod1094]和为k的连续区间
法一:暴力$O({n^2})$看脸过 #include<bits/stdc++.h> using namespace std; typedef long long ll; ],sum[]; ...
- hdu1068
#include<stdio.h>#include<string.h>const int MAXN=1000;int map[MAXN][MAXN];int n;int lin ...
- Linux的.run文件简单制作
run程序安装包实质上是一个安装脚本加要安装的程序,如下图所示: |-----------------|| || 安装脚本 || ||-----------------|| || 程序 || ||-- ...
- 打开*.gd文件的方法
问题来了: 你可能会收到*.gd的公文,那么一般的阅读器都打不开…… 解决方法: 使用书生阅读器(三合一版)来打开 地址:http://www.du8.com/download/index.html
- Sharepoint2013商务智能学习笔记之部署AdventureWorksDW2012数据库(三)
AdventureWorksDW2012是sql server2012的样本数据库,后面做商务智能Demo会用到,所以需要下载并安装到sql server2012上,下载地址 第一步,下载数据库 第二 ...