2022年java知识点总结 .pdf
《2022年java知识点总结 .pdf》由会员分享,可在线阅读,更多相关《2022年java知识点总结 .pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、读书之法 ,在循序而渐进 ,熟读而精思Java 总结1. 命名规则a) 必须使用字母,数字, _, $ 组成b) 不能以数字开头c) 不能使用关键字或保留字1.1 类名: 所有单词首字母大写,其余小写(HelloWorld )1.2 变量:从第二个单词开始首字母大写, 其余小写 , 使用名词(carColor )1.3 方法:从第二个单词开始首字母大写, 其余小写 , 使用动词(qiChuang)1.4 包名: 所有字母小写1.5 常量: 所有字母大写,单词之间用_隔开2. 基本数据类型2.1 数值型2.1.1 整型字节型 Byte -128127 占 1 个字节短整型 short -3276
2、8 32767 占 2 个字节整型 int -2147483648 2147483647 占 4 个字节长整型 long -9223372036854775808 9223372036854775807 占 8 个字节声明时可以带 L/l 2.2 浮点型2.2.1 float 浮点型占 4 个字节 赋值时必须带 F/f 后缀2.2.2 double 双精度浮点型占 8 个字节可以带 D/d 后缀精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 33 页 - - - - - - - - - - 读
3、书之法 ,在循序而渐进 ,熟读而精思2.3 布尔型 boolean (true|false)2.4 字符型 char 占 2 个字节取值范围 u0000 uffff char 必须被单引号表示,并且必须只能表示一个字符。java 中的字符型采用Unicode 字符集2.5 引用数据类型类,接口,数组2.6 类型转换自动类型转换 / 隐式转换:小类型到大类型属于自动类型转换强制类型转换 / 显示转换:大类型到小类型属于强制类型转换byte 或 short 的运算结果必须是int char 和数值型可以互转3. 数组表示一组相同类型的数据集合。长度是固定的,类型固定。在内存中占用一块连续的空间。i
4、nt intArray = new int10; int intArray = new int10,20,30,40,50,60; int intArray1 = 10,20,30,40,50,60; int intArray2; intArray2 = new int10,20,30,40,50,60; 通过 length 属性来获取长度, 通过下标访问元素 (intArray1),如果超出范围则抛出异常: java.lang.ArrayIndexOutOfBoundsException 4. 面向对象的特性4.1 封装精品资料 - - - 欢迎下载 - - - - - - - - - -
5、- 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思将属性或方法通过private关键字修饰为私有的,只能由自己访问,提供一个或多个公开的方法给外部访问,可以在方法中添加自己的逻辑判断。隐藏类的实现细节,达到部分的代码安全,实现数据的安全准确性。4.2 继承从父类中获得其属性和方法的一种机制,减少重复代码。通过extends 关键字来实现。* java 只支持单继承。一个类只能有一个父类。但是一个父类可以有多个子类。* 在 java 中所有类都是直接或者间接的继承于java.lan
6、g.Object 4.2.1 方法重写( Override ) :在子类中声明一个跟父类中一样的方法覆盖从父类继承的该方法,达到扩展的目的。1. 方法名,参数列表,返回值类型必须跟父类中的一致 2. 访问权限不能比父类中的更严格 3. 不能抛出比父类中更大的异常4.2.2 方法重载( Overload ): 在同一个类中实现多个相同名称的方法。达到在不一样的前提条件下实现相同的功能。1. 方法名必须相同2. 参数列表必须不一样(个数,类型,顺序)* 跟返回值类型无关4.3 多态精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - -
7、 - - - -第 3 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思当父类引用指向子类对象时就是多态。Person p = new ChinesePerson(); * 如果子类中重写了方法,执行时会执行子类中的方法如果子类中额外声明了方法,将不能被执行对象造型( Casting )将父类类型对象转成子类类型对象(如果对象是用父类类型 new出来的则会报错)ChinesePerson cp = (ChinesePerson) p; 对象造型之前可以通过instanceof关键字判断对象是否是将要造型的类型。if(p instanceof Ch
8、inesePerson) ChinesePerson cp = (ChinesePerson) p; cp.sing(); 5.java的内存分配5.1 栈效率高,空间小通常用于保存局部空间的变量和引用5.2 堆效率低,空间大通常用于保存 new出来的对象(也包含数组对象)6. 构造方法用于创建对象时对对象进行初始化的方法,跟类名一致,没有返回值位。new精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思对象
9、时会被执行。* 每个类都必须拥有至少一个构造法* 如果没有显示定义构造方法,虚拟机会自动给该类提供一个无参的默认构造方法* 一旦显示定义构造方法,虚拟机将不会提供默认构造方法* 构造方法可以重载* 构造方法不能被继承,所以也不能被重写7. this和 super 7.1 表示对象this表示当前类的当前对象super 表示父类对象7.2 用于调用其他构造方法this用于调用当前类的其他构造方法*必须在第一行super 用于调用父类构造方法 *必须在第一行* 子类中的构造方法必须直接或间接调用父类的构造方法如果没有显示调用则会执行super();8. 变量初始化(成员变量,初始化数组时)byte
10、 0 short 0 int 0 long 0L float 0.0F 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思double 0.0D boolean false char u0000 引用数据类型 null 9. 对象创建过程9.1 在栈中为引用创建空间9.2 当执行 new的时候在堆中开辟空间并创建对象9.3 对对象进行属性初始化9.4 执行构造方法进行再次初始化9.5 将堆中对象的首地址赋值给
11、栈中的引用空间10. 包java 中用于解决命名冲突,以及管理众多类的机制。10.1 在类的第一行有效代码处编写package xxx.xxx.xx; 10.2 引入其他包中的类import xxx.xxx.xx.Xxx; 10.3 引入整个包下的所有类import xxx.xxx.xx.*; 10.4 编译和执行包下的类(命令位置必须是在项目起始目录)e:/xxx - javac ./com/direct/MainClass.java e:/xxx - java com.direct.MainClass 11. 抽象类精品资料 - - - 欢迎下载 - - - - - - - - - - -
12、 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思不能被实例化的类(不能被创建对象) ,用 abstract关键字来修饰。* 抽象方法:没有方法体的虚方法。用abstract修饰。* 包含抽象方法的类必须是抽象类。* 抽象类也可以不包含抽象方法。* 抽象类也可以包含非抽象方法。* 子类必须重写实现父类中的抽象方法。不然也必须定义为抽象类。12. 接口完全抽象体,只能包含抽象方法和常量。用interface关键字来修饰。* 接口中的方法必须是public abstract的* 接口可
13、以继承接口,可以多继承* 类可以实现多个接口(用implements 来实现)* 接口没有构造方法13. final 修饰类:最终类,不能被继承。修饰方法:最终方法,不能被重写修饰变量:最终变量,常量,一旦赋值不能被改变14. static 方法:静态方法,属于类的方法,使用类名. 方法名() 来访问属性:静态属性,属于类的变量,使用类名. 变量名来访问。每一个类只有一份该对象。(跟对象无关)在静态方法中不能访问非静态方法和属性以及使用this和 super 关键字。代码块:静态代码块 static . 当类被加载时会被执行。因为每个类只精品资料 - - - 欢迎下载 - - - - - -
14、- - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思会加载一次,所以该代码库只会执行一次。15. 单例模式一个类只允许被创建一个对象。三要素 15.1 私有化构造方法 15.2 创建静态的私有的本类对象(单例对象) 15.3 提供公开的静态方法供外界获取单例对象16. 访问权限 public protected friendly/default/缺省 private 当前类同包子类其他16. Object类toString: 用于将当前对象转成String * 默认
15、 Object 中的实现为 return getClass().getName() + + Integer.toHexString(hashCode(); getClass :获取对象所属类equals :提供用于比较引用数据类型是否相等的方法,必须在类中重写才有效。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思hashCode: 唯一区分每个对象的hash 码17. 可变字符串因为 String被设计为
16、 final并且其底层采用常量字符数组来表示,所以String对象中的内容不能更改。当需要做大量字符串连接时java 会创建大量无用对象占用内存。可以使用 StringBuffer或 StringBuilder这样的可变字符串来实现字符串的连接。StringBuilder buffer = new StringBuilder(zhangsan); buffer.append(,lisi); buffer.append(,wangwu); buffer.append(,zhaoliu); String str1 = buffer.toString(); StringBuffer和 StringB
17、uilder StringBuffer jdk1.0时产生的,重量级,线程安全的,效率低StringBuilder jdk1.5时产生,轻量级,非线程安全的,效率高18 GC(Garbage Collection)垃圾回收机制垃圾回收机制是 java 虚拟机提供的自动释放无用对象的内存空间的机制。当对象不再被引用时,就视为垃圾对象,就有可能会被回收。自动运行,在程序中无法干预。可以建议,但不一定被采纳。/ 建议虚拟机进行垃圾回收,但虚拟机不一定采纳System.gc(); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - -
18、 - - -第 9 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思/* * 当垃圾回收器将要回收该对象时被调用 * 该方法只会被调用一次 * * 由 Object 类定义的方法, java 虚拟机自动调用,程序中只需要重写即可 */ protected void finalize() throws Throwable System.out.println(被回收时执行 ); 19. 日期时间处理19.1 Date表示时间类型/ 创建指定时间对象Date d = new Date(1000); / 创建当前时间对象 ( 等同于 new Date(
19、System.currentTimeMillis() Date d = new Date(); / 获取时间对象表示的毫秒数long ms = d.getTime() 19.2 Calendar日历处理/ 获取日历对象 , 默认日历翻到当前时间Calendar c = Calendar.getInstance(); c.setTime(new Date(1000); / 翻到 1970年 1月1日 0 时0分 1秒处 也可以写为 : c.setTimeInMillis(1000);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - -
20、 - - - - -第 10 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思/ 常量Calendar.YEAR Calendar.MONTH / 0 - 11 Calendar.DATE Calendar.HOUR_OF_DAY Calendar.MINUTE Calendar.SECOND Calendar.MILLISECOND Calendar.DAY_OF_WEEK / 1-7 SUNDAY - SATURDAY Calendar.WEEK_OF_MONTH Calendar.WEEK_OF_YEAR / get 方法 获取对应字段的值
21、int year = c.get(Calendar.YEAR); / 获取年int month = c.get(Calendar.MONTH); / 获取月 0 - 11 / set 方法 设置字段值c.set(Calendar.MONTH, 11); / add 方法 在当前时间上的特定字段上翻动c.add(Calendar.DATE, -3); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思/ ro
22、ll方法 在当前时间上的特定字段上翻动不影响其他字段c.roll(Calendar.DATE, -1); / 翻到本月的最后一天c.set(Calendar.DATE, 1); c.roll(Calendar.DATE, -1); 19.3 SimpleDateFormat日期和字符串互转工具类/ 创建格式化对象SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); 或SimpleDateFormat sdf1 = new SimpleDateFormat(); sdf.applyPattern(yyyy年 MM 月
23、dd 日 HH时 mm 分 ss 秒 E); / 将时间对象转成制定格式字符串String str = sdf.format(new Date(); / 将制定格式字符串转成时间对象Date d = sdf.parse(ds); 20. 异常程序运行中出现的错误。会打断程序正常执行。是java 中提供的一种错误提精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思示和处理的机制。20.1 异常分类错误(ERR
24、OR) :通常指不是由程序造成并且在程序中不能处理或避免的错误。比如:内存溢出, Java 虚拟机出错等异常(Exception):通常指由于程序代码不严谨造成的可以避免的错误或在程序中可以预先处理的错误。20.2 抛出异常通过 throw 关键字抛出异常throw new IndexOutOfBoundsException(); 通过 throws 关键字在方法上标注有可能会发生的异常20.3 异常处理try . / 尝试执行可能会发生异常的代码块 catch(.) / 捕捉 try 块中发生的异常并处理. catch(.) . catch(.) . finally / 必须执行块,无论tr
25、y 中是否发生异常,该块都会被执行,即使 try 中有 return也会在 return之前被执行. 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 33 页 - - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思 . * 多重 catch 时父类异常必须写到子类之后。20.4 自定义异常只需继承 Exception 或 RuntimeException 即可实现自定义异常21. 集合( Collection)/ 容器(Container )集合结构中的根接口,定义集
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年java知识点总结 2022 java 知识点 总结
限制150内