不要编写返回可变对象的访问器方法 如果要返回一个可变数据类型应该怎么办呢? 一个方法可以访问所属类的所有对象的私有数据。!!!! tips: 方法签名包括方法名以及参数类型,这使得不存在同名同参返回值不同的方法 自动赋值出现在没有显示赋值的情况下,数值=0,布尔值=false,对象引用=null 无 ...
分类:
编程语言 时间:
2018-06-17 17:55:21
阅读次数:
126
一、String在内存中的结构 注意:String类声明的变量名放在栈中,New出来的对象放在堆中,String具体常量类容放在常量池 二、String是不可变对象 java.lang.String类使用了final修饰,不能被继承。String是常量,其对象一旦构造就不能再被改变 三、创建对象个数 ...
分类:
编程语言 时间:
2018-06-11 00:37:34
阅读次数:
194
在多线程环境中,为了保证共享数据的一致性,往往需要对共享数据的使用进行加锁,但是加锁操作本身就会带来一定的开销,这里可以使用将共享数据使用不可变对象进行封装,从而避免加锁操作。 1. 模型角色   ...
分类:
编程语言 时间:
2018-06-10 12:14:42
阅读次数:
254
一,列表 1.列表用[]表示,每个元素用 , 逗号隔开,可以存放很多内容,也可以存放各种数据类型,能存储大量数据 2.特点:列表有索引,也有切片,可以倒数,切片的时候也是顾头不顾尾,列表切片的结果还是列表 二,列表的增删改查: list和str是不一样的,lst可以发生改变,所以直接在原来的对象上进 ...
分类:
其他好文 时间:
2018-06-09 13:26:35
阅读次数:
151
# 测试参数是传值还是传引用def test(arg): print("test before") print(id(arg)) arg[1]=30 # 测试可变对象 # arg[3][2] = 16 # 测试嵌套类型 # arg = list(range(5)) print("test after ...
分类:
编程语言 时间:
2018-06-07 14:31:09
阅读次数:
194
简介 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 原型模式是用场景:需要大量的基于某个基础原型进行微量修改而得到新原型时使用 代码实例 在python中,完成对对象的拷贝工作,是利用copy模块和deepcopy模块。 输出 注意: ...
分类:
其他好文 时间:
2018-06-05 00:35:44
阅读次数:
139
Python中的变量是没有类型的,我们可以把它看做一个(*void)类型的指针,变量是可以指向任何对象的,而对象才是有类型的。 Python中的对象有可变对象(number,string,tuple等)和不可变对象之分(list,dict等)。 值传递(passl-by-value)过程中,被调函数 ...
分类:
编程语言 时间:
2018-06-03 19:26:16
阅读次数:
162
哈 偶尔复习,查漏补缺。 不可变对象 不可变对象常用在 参数共享/参数传递 上,好处很多,一是可以使用字符串池来节省空间,二是该对象可以安全地共享/传递,不会造成误修改问题。 1. numbers 2. string 3. tuple 3. frozenset a. 问题 在使用 作为重复运算符时, ...
分类:
编程语言 时间:
2018-06-03 17:31:29
阅读次数:
182
示例 构造 实例变量 实例方法 可变和不可变对象参数 私有 ...
分类:
编程语言 时间:
2018-05-30 10:50:07
阅读次数:
174
定义 返回值 位置参数和关键字参数 参数传递 值传递 不可变对象 默认参数 ...
分类:
编程语言 时间:
2018-05-29 17:14:42
阅读次数:
181