- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 基础语法
1.程序执行过程
2.java变量的分类
3.java数据类型的划分
4.数据类型所占的空间大小
注意:数值范围 数值转换
数据类型之间的转化
5.运算逻辑符的关系
6.do..while 和while的区别
执行语句和判断语句 执行先后的问题
7.break和continue的区别(代码分析)
8.方法
形式参数:在方法被调用时接收外外界输入的数据。
实参:调用方法时实际传给方法的数据。
返回值:方法执行完毕后返还给调用它的环境的数据。
返回值类型:事先约定的返回值的数据类型,如无返回值,则返回值类型为void。
注意:
第二章 面向对象
1.对象和类的概念
2.java与面向对象、类的定义
3.Java面向对象的基本概念—引用
Java语言中除基本类型之外的变量类型都称之为---引用类型。
Java中的对象通过引用对其经行操作
4.构造方法
当赋值完毕后,栈 空间的_id 和_age 会被清除。
当没有写构造函数时,编译器会自动添加形如 类名(){}
的构造函数。
5.this关键字(代码分析)
6.static关键字(代码、内存分析)
注意:private static int sid = 0; 存储在 data seg 中。而其余的成员变量存储在stack中。原因是 static关键字。
7.package和import的语句
8.类的集成与权限控制
9.方法的重写(代码分析)
Super关键字:来引用基类的成分
在cc.f()语句中,先执行的是基类的Syso 然后是子类的Syso
10.继承中的构造方法
11.toString、equals 方法
12.对象转型
13.动态绑定和多态(代码分析)
14.抽象类
用abstract修饰一个方法时,这个方法是抽象方法。
用abstract修饰一个类时,这个类是抽象的类。
含有抽象方法的类,必须声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化。
抽象方法只需声明,而不需实例。
15.final关键字、
16.接口(代码分析)
特性:
第三章 异常处理
1.异常的概念
异常的分类
异常的捕捉和处理
异常的捕捉和处理
注意:语句1 出现异常时,不会再执行语句2
第四章 数组
1.数组的概念
2.一维数组声明
3.new出的数组内存储存
、
4.数组元素的引用
5.二维数组(代码分析)
数组的拷贝
第五章 常用类
1.string类
2.String 常用的方法
3.StringBuffer 类
4.基本类型数据包装类
5.Math类(代码分析)
6.File类
第六章 容器
1.容器的概念
JAVA API 所提供的一系列的实例,用于在程序中存放对象。
2.容器API
3.collection 接口
4.collection方法的举例(浅谈 HashCode 和 equals)
(1)对于包含容器类型的程序设计语言来说,基本上都会涉及到hashCode。在Java中也一样,hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,这样的散列集合包括HashSet、HashMap以及HashTable。
为什么这么说呢?考虑一种情况,当向集合中插入对象时,如何判别在集合中是否已经存在该对象了?(注意:集合中不允许重复的元素存在)
也许大多数人都会想到调用equals方法来逐个进行比较,这个方法确实可行。但是如果集合中已经存在一万条数据或者更多的数据,如果采用equals方法去逐一比较,效率必然是一个问题。此时hashCode方法的作用就体现出来了,当集合要添加新的对象时,先调用这个对象的hashCode方法,得到对应的hashcode值,实际上在HashMap的具体实现中会用一个table保存已经存进去的对象的hashcode值,如果table中没有该hashcode值,它就可以直接存进去,不用再进行任何比较了;如果存在该hashcode值, 就调用它的equals方法与新元素进行比较,相同的话就不存了,不相同就散列其它的地址,所以这里存在一个冲突解决的问题,这样一来实际调用equals方法的次数就大大降低了,说通俗一点:Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。
(2)equals()相等的两个对象,hashcode()一定相等;?equals()不相等的两个对象,却并不能证明他们的hashcode()不相等。换句话说,equals()方法不相等的两个对象,hashcode()有可能相等。(我的理解是由于哈希码在生成的时候产生冲突造成的)。?反过来:hashcode()不等,一定能推出equals()也不等;hash
文档评论(0)