容器:

Collection接口: List -》ArrayList LinkedList Vector

Set-》HashSet 内部使用HashMap实现

Map接口: 采用 key value存储数据

HashMap线程不安全 效率高

HashTable线程安全 效率低

Iterator接口:遍历容器中元素

泛型:

Collections: 包含排序查找的工具类

字符串比较中 == 与 equal的区别

  • ==:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较;
  • equals():比较的是两个字符串的内容,属于内容比较。

多态

多态体现为一个事物的多种形态 例如 父类引用变量可以指向子类对象

isinstanceof

向上转型 将子类对象赋值给父类变量

向下转型 将父类对象赋值给子类变量

注解

也叫元数据 用于描述数据的数据

基本注解:

@Override 重写 在重写的方法前加入即可

@SuppressWarnings 压制警告 在警告内容前加入

[public] @interface 注解名
 {
 数据类型 成员变量名()[default 初始值]
 }

注解跟类一样 会被编译为 注解名.class的字节码文件

成员变量名后面的()必不可少

反射机制

一段程序在运行过程中 接受一个对象作为形参 该对象的编译时类型与运行时类型不一致 但是程序又需要调用该对象运行时的类中的方法

这就需要引用反射机制 保证在程序运行过程中

可以知道任意对象的运行时类型

可以构造任意类的对象

可以调用任意对象的属性和方法

其实就是在运行时获取对象的属性与方法,例如对象.getClass

内部类

将一个类作为成员放在另一个类或者方法的内部

嵌套类

内部类可以分为 非静态内部类和静态内部类

非静态内部类 是指 在非静态类的方法内访问某个变量时 先找局部变量 再找内部类的属性 最后找外部类的属性

如果局部变量 内部类属性 外部类三者名字相同

静态内部类是用static修饰的内部类都称为静态内部类

静态内部类是一个普通类 可以包含静态成员 也可以包含非静态成员

静态内部类不能访问外部类的实例成员 只能访问外部类的类成员

lambda表达式

当接口中只有一个抽象方法 匿名内部类的语法过于频繁

这种接口叫做函数式接口

表达式 : (形参列表)->{代码块}

形参列表:如果形参列表中只有一个参数 形参列表的圆括号也可以忽略