我们可以不定义变量引用对象,使用new关键字创建对象后直接使用,这样的对象没有名字,所以叫匿名对象。 new Person().speak(); 匿名对象因为没有任何引用到达,在使用一次之后即成为垃圾。 通常我们需要使用一个对象且只使用一次的时候,就可以使用匿名对象。比如将对象作为一个参数传递给另外 ...
分类:
其他好文 时间:
2020-04-10 11:53:39
阅读次数:
70
int, float,str, tuple都是不可变对象, dic,set,list属于可变对象。可变,是指内存中的值,不是指地址。 1 浅拷贝 拷贝规则: 如果被拷贝对象是不可变对象,则不会生成新的对象 如果被拷贝对象是可变对象,则会生成新的对象,但是只会对可变对象最外层进行拷贝 import c ...
分类:
编程语言 时间:
2020-04-08 09:19:41
阅读次数:
91
函数 参数 1.js函数不介意传递进来多少个参数,也不在乎传递进来参数是什么类型。2.arguments对象:类数组 arguments对象的长度是由传入的参数个数决定的,不是由定义函数时的参数(命名参数)个数决定的。 没有传递值的命名参数自动被赋予undefined值。 基本类型和引用类型 用va ...
分类:
Web程序 时间:
2020-04-01 15:10:12
阅读次数:
86
深拷贝和浅拷贝都是对象的拷贝,本质的区别是拷贝出来的对象的地址是否和原对象一样,也就是地址的复制还是值的复制的区别。 可变对象:直接在对象所指的地址上把值改了,这个对象依然指向这个地址。 不可变对象:一个对象所指向的地址上的值是不能修改的,如果修改了这个对象的值,它所指向的地址就改变了。 深拷贝就是 ...
分类:
编程语言 时间:
2020-03-31 20:44:33
阅读次数:
66
Collection学习之tuple及namedetuple,总结输出: 一、tuple 1.1特点 是元组,元素个数具有不可变性,不能对其中元素值进行修改,但如果元素是可变的list除外,但通常不建议这么使用; 可迭代iterable,即可以一一遍历其中的元素; 可拆包,即可位置提取其中的元素使用 ...
分类:
编程语言 时间:
2020-03-24 10:57:25
阅读次数:
64
1. shelve对象的持久存储 不需要关系数据库时,可以用shelve模块作为持久存储Python对象的一个简单的选择。类似于字典,shelf按键访问。值将被pickled并写至由dbm创建和管理的数据库。 1.1 创建一个新shelf 使用shelve最简单的方法就是利用DbfilenameSh ...
分类:
编程语言 时间:
2020-03-23 09:56:18
阅读次数:
113
1、字符串定义: 1>一个个字符组成的有序的序列,是字符的集合,是可迭代对象,可索引 2>使用单引号、双引号、三引号引住的字符序列,r前缀,f前缀 3>字符串是不可变对象 4>Python3起,字符串就是Unicode类型 # -*- coding:utf-8 -*- # version:pytho ...
分类:
编程语言 时间:
2020-03-20 20:18:35
阅读次数:
73
建造者模式 一般用于不可变对象 比如配置文件 // 创建打印机类 public class Print { // 配置写死了 private final String printName = "1"; private final String printVersion = "2"; private ...
分类:
其他好文 时间:
2020-03-18 15:57:22
阅读次数:
56
前言 享元模式是非常常用的一种结构性设计模式。 特别是在面试的时候。当我们把这一节内容掌握,我相信不管是工作中还是面试中这一块内容绝对是一大亮点。 什么是享元模式 所谓“享元”,顾名思义就是被共享的单元。享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。 具体来讲,当一个系统中存在大量 ...
分类:
其他好文 时间:
2020-03-14 16:26:00
阅读次数:
41
易错点1:锁一个可变对象 package cn.enjoyedu.ch1.syn; /** * 类说明:错误的加锁和原因分析 */ public class TestIntegerSyn { public static void main(String[] args) throws Interrup ...
分类:
编程语言 时间:
2020-03-14 00:59:20
阅读次数:
78