基本知识
1.函数调用
调用一个新函数会开辟一个新栈帧来保存自己的返回地址与局部变量与逻辑代码.
2.动态绑定
在编译期间不确定函数是哪个对象的,在运行期间通过类的虚方法表来查看子类是否有此方法,没有则一层一层向上查找.所有的除了变量与final与private修饰的方法是静态绑定的其他的方法是动态绑定.
3.java8对接口的改进
在Java8及以后对接口进行了扩展,接口里定义的静态方法与default修饰的方法是可以有方法体的.default修饰的可以在同一包中访问,注意如果子类与父类不在同一包中则,子类照样不能访问父类中定义的default方法.
4.finally try cath执行顺序
无论try中有没有return都会执行finally,具体会先计算出try中的return后的表达式的值,然后先保存在这里,接着执行finally里的语句但如果finally中有return则会先退出,就不会返回try中计算好的值.