《JAVA编程思想》笔记
接口与抽象类
- 抽象类的关键字为abstract,接口的关键字为interface
- 抽象类中至少有一个抽象方法,可以有部分方法的实现。接口则全为抽象方法,不能有具体实现
- 一个类只能继承一个抽象类或者具体类,但可以实现多个接口,类似于C++中的多重继承,但不会存在一个方法在多个基类上都有具体实现的问题,因为只继承了一个类,其他都是接口。
- 抽象类中的抽象方法不能是static和private的,接口中的方法无需指定也是public的
- 接口中的变量自动是public、static和final的,必须在定义时赋值,可以用于设置常量
内部类
Java不支持直接的多重继承,即一个类只能继承自一个类,如果要想实现多重继承,则可以用内部类继承多余的基类,外部类只需要继承一个基类,然后外部类对内部类继承的方法做一下封装对外展示就有了多重继承的效果。
方便编写事件驱动程序,比如Android中的listener经常用匿名内部类
方便编写线程代码,比如直接在类方法中new Thread()然后定义run等方法
内部类方便访问外部类的变量与方法,同时又能对外部类以外隐藏
https://www.cnblogs.com/dolphin0520/p/3811445.html#!comments
Class类与反射
Class类的原理解释
https://blog.csdn.net/my_truelove/article/details/51289217
反射的代码例子1
https://blog.csdn.net/my_truelove/article/details/51298218
反射的代码例子2
https://blog.csdn.net/My_TrueLove/article/details/51306921
反射的原理与应用例子https://blog.csdn.net/sinat_38259539/article/details/71799078
动态代理
第二个回答,对动态代理的原理与作用做了非常形象的分析 https://www.zhihu.com/question/20794107
java泛型
https://blog.csdn.net/s10461/article/details/53941091
廖雪峰的网站对泛型的介绍,简约但不简单
https://www.liaoxuefeng.com/wiki/1252599548343744/1255945193293888
java四种引用
对于四种引用的作用用代码做了演示 https://www.jb51.net/article/108539.htm
volatile和synchronized的区别
https://blog.csdn.net/suifeng3051/article/details/52611233