java基础回顾

2020-02-28  本文已影响0人  倔强_2722

***基础语法部分记录


方法使用注意事项 方法重载 java内存分类 内存使用举例 数组概念 数组未初始化的空指针异常 数组反转

***面向对象部分记录

一个对象的内存图 多对象执行

入栈/压栈:后进先出,后调用的方法先执行并完成后出栈,再继续进行下一个方法调用,都完成后main方法出栈。

构造方法 关键字-private 关键字-this 匿名对象 集合存储基本数据

从jdk1.5+开始,支持自动装箱,自动拆箱
自动装箱:基本类型-->包装类型
自动拆箱:包装类型-->基本类型

***字符串的创建


==的值比较 字符串定义的存储区别

jdk1.7开始,字符串常量池在堆中。双引号直接建的字符串对象,存储在堆里的字符串常量池里,本质是字节数组,通过字符数组创建的字符串对象,在堆中存储,看似一样的内容,但是地址不同。

static关键字 静态内存图 Arrays数组工具类 继承过程中super和this

构造方法中super/this不能同时存在,指当前构造方法,不影响其它重载方法里的存在。

抽象类和抽象方法 接口定义 接口小结

继承:类与类继承,接口与接口继承和实现
多态:父类引用指向子类或者接口指向实现类

多态成员变量/方法
多态使用场景
向上/下转型 关键字-final 成员内部类 匿名内部类 ==基本类型比较的是数值,基本类型不支持equals的使用 ==基本类型比较的是数值,基本类型不支持equals的使用

null不能调用方法

Date类 基本类型包装类 泛型通配符

泛型的上限限定:?extends E 代表使用的泛型只能是E类型的子类/本身
泛型的下限限定:?super E 代表使用的泛型只能是E类型的父类/本身

数据结构
1.栈--先进后出
2.队列--先进先出


栈和队列

3.数组--查询快,增删慢

查询快(数组地址连续,通过首地址可以找到数组,通过数组的索引可以快速查找某个元素)
增删慢:数组长度固定,想增删一个新数组,必须创建一个新数组,把源数组的数据复制过来

数组结构

4.链表--查询慢,增删快


链表

5.二叉树--红黑树趋近于平衡二叉树查询非常快


二叉树 哈希值
HashSet集合存储数据结构

collection--单列集合,collection<E>,一个泛型
map--双列集合,map<K,V>,两个泛型

异常产生的原因

自定义异常时,继承的是RuntimeException,则调用方法无需抛出异常,运行时虚拟机会自行处理;若是继承Exception,编译期异常,则调用方需要抛出异常或者try...catch处理

上一篇 下一篇

猜你喜欢

热点阅读