摘要:
今天在看ArrayList原码是看到这样的一个符号,好奇怪。?表示通配符,表示的意思是匹配E或E的子类,具体类型未知。 1.限定通配符 编写一个类似于ArrayList的动态数据 修改上面的代码,将addAll参数改成如下 这个时候代码编译通过了。并且能够正常的访问其中的元素。 2.无限定通配符。 阅读全文
摘要:
今天躺在床上忽然想到一个问题,迭代器的代码是如何实现的?于是乎不由自主的爬起来敲两行代码。 上面的代码是java中很常见的一个迭代的功能。于是自己也想要写一个泛型类,然后支持这种迭代的功能。于是乎写了一个类似ArrayList的动态数组功能。 上面的代码怎么都没办法实现Iterator的功能,在id 阅读全文
摘要:
1.泛型类 普通的类 这样的代码是完全可以执行了,那为什么还需要泛型类? 1.安全性 上面的代码编译是完全可以通过的,但是执行的时候就会出现ClassCastException异常 2.可读性好,省去了反复的强制类型转换。 对于泛型类,java编译器会将泛型代码转换成普通的非泛型代码, 所以对于虚拟 阅读全文
摘要:
上面代码通过实例化子类和父类,分别调用toString()实现了继承的关系。 这个时候有这样的需求;不实例化父类,直接通过子类完完整整的调用父类的方法或属性。 实现代码如下 通过面简单的三行红色代码就实现了子类访问父类成员的需求。 本来想模仿java的使用super访问父类,后来想想super是ja 阅读全文
摘要:
首先用一个例子指出来constructor存在形式。 由上面的代码我们总结出结论1:上面的代码在控制台可以看出constructor是指向构造器Fruit的引用。 这个地方就有点奇怪了。这个constructor到底指向的是那个实例的构造器? 根据上面的代码总结出结论2:constructor指向的 阅读全文
摘要:
我们有时候会向一个方法中传入一个参数,并且对这个参数做一些处理的操作; 但是因为是引用传递,处理过后会对原有的对象造成修改,无法进行反复使用。 如例子: 两次打印的结果一模一样。这样下一个方法在继续使用arr这个数的时候就不是["a","b","c"]这个值了,而是["a","b","c",2]; 阅读全文
摘要:
加载==》链接==》初始化==》使用==》卸载 加载:将.class文件转换成字节流,这一步完成之后到链接步骤链接步骤是对字节流进行验证、准备,解析三个过程。 验证:确保被加载的文件正确性和安全性。 正确性:确保.class文件解析成字节流后,是可以使用的。 安全性:不至于危害虚拟机。 而验证又分为 阅读全文
摘要:
jvm:是Java Virtual Machine(java虚拟机)的缩写。 怎么去理解这个jvm呢?我们可以把它理解成操作系统,如果这个比喻不好理解,你可以夸张的把他理解成“虚拟计算机”,java程序就在这个“虚拟计算机”上运行。 java的跨平台能力就是源自这个“虚拟计算机”;因为jvm封装了j 阅读全文
摘要:
1.下载crx后缀的文件。 2.修改crx后缀名为rar的压缩文件 3.解压刚才的rar文件 4.打开谷歌浏览器右上角的三个点 更多工具==》扩展程序 选择刚才的解压文件夹。 上面的图表示安装成功了,最好点一下下面的刷新按钮。 阅读全文
摘要:
1.在Axure中添加一个弹框按钮 2.将动态面版拖动到界面中 3.双击动态面版,双击state 4.拖入一块图片占位符进来 5.设置图片 6.回到上一个界面设置动态面版的大小,使其包含我们的内容, 7.动态面版设置隐藏 8.设置按钮的弹框事件,双击“鼠标单击时” 9.设置弹框再显示的时候据浏览器中 阅读全文