【《java编程思想》读书笔记——第一章1.7对象的创建和存在时间sp1(抽象数据类型,java的内存空间)】教程文章相关的互联网学习教程文章

【Java编程思想读书笔记】继承中父类的初始化方式

继承中父类的初始化方式 p144页有感 一、提出问题 假设有一些类,这些类有继承关系的时候,当初始化一个子类对象,对于该类的父类而言,发生了什么呢?是仅仅只是复制了一个引用还是也会同时new一个父类对象呢? 二、解释问题 由于涉及到子类和父类之间的关系,从外部看,似乎子类拥有与父类相同的接口,而且可包含一些额外的方法和字段。但继承并非仅仅简单地复制父类的接口了事。创建子类的一个对象时,它在其中包含了父类的一个...

Java编程思想简要笔记——第六章 访问权限控制

访问控制是Java面试中常见的考试范围,以前在面试中常被问到,一直在被表格,但还是记不住。主要是总在default和protected里面混,本章中有一个结论protected是为了继承而生的这句话让我彻底区分开了他们的范围,protected是继承的体现,所以子类一定可以方法,default和protected肯定是不同,所以default只能在同类和同包中访问。果然是知其然,更要知其所以然,否则摔个跟头就忘了。 包:库单元 package语句必须是文件中除了注释...

《java编程思想》读书笔记——第一章1.7对象的创建和存在时间sp2(java堆、堆GC机制及过程,对象的一生)【图】

1.6堆内存 1.其存储方式为随机存储,存入时,需要先寻找会存放的区域,因此存取速度较慢,其存取算法与栈不同,并不需要具体的数据存在时间 2.堆可以动态扩容,其大小上限由参数-Xmx(最大内存)和-Xms(初始内存)决定,因此可以用于存放一些在代码编写时并不确定具体大小的数据(比如我的对象是一个符合某种特征的列表,可能是一个非常大,且我并不能确定其大小的对象),但是当其扩容到极限时,依然会报oom错误 3.综合以上两种特性...

《java编程思想》读书笔记——第一章1.6多形对象的互换使用(多态)【代码】【图】

1.6多形对象的互换使用 1.继承带来的多态 继承的使用通常会带来一个,大量的类在同一个基础类型的基础上建立的情况,如图所示2.向上转型class shape{getName(){System.out.printf("查百度啦憨批")} } class Circle extend shape{getName(){System.out.printf("这是圆形啊你瞎 (adsbygoogle = window.adsbygoogle || []).push({});标签:代码,1.6,读书笔记,getName,多态,shape,类型,方法,abstract 来源: https://blog.csdn.net/qq...

重新精读《Java 编程思想》系列之final关键字【代码】【图】

在java中final关键字标识无法被修改。接下来从final修饰数据、方法和类进行介绍。 final数据 final用来告知编译器这一块数据是恒定不变的。数据恒定不变又如下作用: 1、一个永不改变的编译时常量。 2、一个在运行时被初始化的值,而你不希望他改变。 编译器常量的情况,编译器可以将常量值代入任何可能用到的计算式,可以在编译时,执行计算式,减轻运行的负担。这类常量必须是基本数据类型,并且以关键字final表示。常量在定义的...

Java编程思想 练习题(四)【代码】

一、创建一个类,它包含一个未初始化的String引用。验证该引用被Java初始化成了null。public class Main {public static void main(String[] args) {Test test = new Test();if (test.str == null) {System.out.println("String default init is null.");}} } class Test {String str; } 返回:String default init is null. 二、创建一个类,它包含一个在定义时就被初始化了的String域,以及另一个通过构造器初始化的String域。这...

Java编程思想 练习题(一)【代码】【图】

一、 创建一个类,它包含一个int域和一个char域,它们都没有被初始化,将它们的值打印出来,以验证Java执行了默认初始化。 private static char c; private static int i;public static void main(String[] args){System.out.println(String.valueOf(c));System.out.println(String.valueOf(i)); }返回值: 0 二、参照本章的HelloDate.java这个例子,创建一个“Hello,World”程序,该程序只要输出这句话即可。 书中HelloDate源码...

Java编程思想课后练习_2.11【图】

练习1:创建一个类,它包含一个int域和一个char域,他们都没有被初始化,将他们的值打印出来,以验证Java执行了默认初始化。 这样编译没问题,但执行时会报错“找不到p1.class主类”,但当前目录下是有p1.class文件的, 之前p1文件中只写了一个类,执行成功;现在多加了一个"p1Son"类,编译后额外又生成了一个"p1Son.class"文件,可能是这个原因, 现在问题是,如何执行这种一个.java文件编译生成的多个.class文件呢?后续再说吧。。...

Java编程思想-第二章 一切都是对象

一切都是对象 2.1用引用操纵对象 其实引用就是该对象类型的一个变量 2.2必须由你创建所有对象 这一节主要讲解用new关键字创建一个对象,对象存放在堆上,然后大概讲解了基本类型和包装类,自动拆箱装箱,还有高精度数字,biginteger和bigdecimal,一般bigdecimal用的多。最后说了一下Java对数组的访问范围进行现在,保证了程序安全性,后面有专门的数组讲解章节。 2.3永远不要销毁对象 因为Java有垃圾回收机制所以基本不需要管对象...

Java编程思想——第21章 并发(二)

三、共享受限资源对于并发任务,你需要某种方式来防止两个任务访问相同的资源,至少在关键阶段不能出现这种情况。 1.解决共享资源竞争防止这种冲突的方法就是当资源被一个任务使用时,在其上加锁。基本上所有的并发模式在解决线程冲突问题的时候,都是采用序列化访问共享资源的方案。通常这是通过在代码前面加上以挑锁语句来实现的,这使得在一段时间内只有一个任务可以运行这段代码。因为锁语句产生了一种互相排斥的效果,所以这种...

Java编程思想——第17章 容器深入研究 读书笔记(四)【代码】

九、散列与散列码 HashMap使用equals()判断当前的键是否与表中存在的键相同。 正确的equals()方法需满足一下条件: 1)自反性。x.equals(x) 是true; 2)对称性。x.equalse(y) 返回true y.equals(x)也得是true; 3)传递性。x.equals(y) 返回true ,y.equals(z) 返回true , x.equals(z)返回true; 4)一致性。如果对象中用于等价比较的信息没有变,那么无论多少次 x.equals(y)返回值不会变 5)x.equals(null) 返回 false ;注意:(null...

Java编程思想——第17章 容器深入研究 读书笔记【图】

这一章将学习散列机制是如何工作的,以及在使用散列容器时怎么样编写hashCode()和equals()方法。 先上两张图 来个概况 再细说都为什么会有那些特性。

Java编程思想---第十一章 持有对象(下)【代码】

第十一章 持有对象(下) 11.12 Collection和Iterator Collection是描述所有序列容器的共性的根接口,它可能会被仍为是一个附属接口,因为要表示其他若干个接口的共性而出现的接口。另外,java.util.AbstractCollection类提供了Collection的默认实现,使得我们可以创建AbstractCollection的子类型,而其中没有不必要的代码重复。使用接口描述的一个理由就是它可以使我们能够创建更通用的代码,通过针对接口而非具体实现来编写代码...

Java之 OOP编程思想理解1

OOP 所有的编程语言都提供抽象机制。可以认为,人们能够解决问题的复杂性直接取决于抽象的类型和质量 例如汇编语言和一些(非OOP)其他语言「如:BASIC、C等」都是主要针对计算机结构的抽象,所以在使用这些语言编程时,我们必须设法找到机器模型和实际待解问题模型的关联。 OOP思想的实质程序可以添加新类型的对象使自身适用于某个待解决的问题。因此,在阅读解决方案代码的同时,也是在阅读问题的表述。即:只对问题进行抽象。每个...

Java编程思想学习——第一篇【代码】

1. 基本类型 每种基本类型所占存储空间的大小具有不变性,并不像其他大多数语言那样随着机器硬件架构的变化而变化,也是Java程序比用其他大多数语言编写的程序更具有可移植性的原因之一,Java没有sizeof() 所有数值类型没有正负号,所以不要去寻找无符号的数值类型。基本类型 大小 最小值 最大值 包装类类型boolean – – – Booleanchar 16-bit Unicode 0 Unicode 216 -1 Characterbyte 8 bits -128 +127 Byteshort 16 bits -215 ...