12 2019 档案
摘要: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
阅读全文