1.IDEA常用快捷键
2.匿名内部类
3.枚举
4.泛型
自定义泛型类
实际实现
泛型 接口
5.接口
接口的好处
这里new的不是接口,而是A的实例,前面指的是定义了一个接口变量,后面指的是用A的实例(对象)去指向改接口变量。简而言之,接口不能实例化对象,但是可以创建一个变量,让他的实现类的实例指向该接口
jdk8时为了能够使用接口的升级,什么是接口升级呢,当项目中的一个接口,需要加新的抽象方法,那么原来实现了这个接口的鹅方法,也需要一起进行修改,这个时候我们就想到了定义一个默认方法,拥有这个方法的接口,在子类实现的时候可以选择性的进行实现,可以先实现abstrat修饰符的接口,回头再实现default修饰符的方法,但是有一点要注意,重新的时候要去掉default关键字
public可以省略,但是default不能省略
如果实现了多个接口,多个接口中存在相同的默认方法,子类就必须对该方法进行重写
二:
static关键字
#
jdk9新增的方法
- 使用private修饰的代码,是提供给接口中其他方法使用的方法,并不会被子类继承
- public static的抽象方法只能调用private static方法
6.权限修饰符
- 这里要注意的是,protected只能在子类中调用父类的方法 ,而无法在其它类中创造子类,然后在调用该方法
7.子类访问成员的特点
8.多态
识别技巧:
- 对于方法,编译看左边,运行看右边
- 对于变量,编译看左边,运行看左边
使用多态优点
如何解决以上问题呢?
9.final、常量
以下三点:
常量:
- final 关键字可以用于成员变量、本地变量、方法以及类
- final 成员变量必须在声明的时候初始化或者在构造器中初始化,否则就汇报编译错误
- 不能够对 final 变量再次赋值
- 本地变量必须在声明时赋值
- 在匿名类中所有变量都必须是 final 变量
- final 方法不能被重写
- final 类不能被继承
- 接口中声明的所有变量本身是 final 的
- final 和 abstract 这两个关键字是反相关的,final 类就不可能是 abstract 的
- 没有在声明时初始化 final 变量的称为空白 final 变量(blank final variable),它们必须在构造器中初始化,或者调用 this() 初始化,不这么做的话,编译器会报错final变量(变量名)需要进行初始化
- 按照 Java 代码惯例,final 变量就是常量,而且通常常量名要大写
- 对于集合对象声明为 final 指的是引用不能被更改
10.抽象类
11.Set集合的特点
12.注解
注解的原理
元注解
指的是:修饰注解的注解
实现方式
作用:声明注解的保留周期
13.关键字
static:













































