本来是准备写一下关于map的数据结构底层java实现,但是想想一开始对容器学的都还不够多,还是学一下容器吧,学到容器,但是突然感觉接口等等的,好吧,还是把接口再看一下吧,总是用到那学那,还是没有完全系统的概念学习,又要开始学了。
接口:本质上就是一个抽象的类,是一些抽象方法和静态final常量的结合,或者说从本质上就是一个抽象类,对于接口中的常量为什么要用static,final来实现的原因就是为了避免在c++中多继承的时候出现的变量名相同会出现混乱的现象,写成static这样来,这个变量就是属于这个类的了,我们不需要new出一个对象,自己通过类来调用就好了,java中的接口中的变量会被默认成为静态常量,即使你不声明,接口中的方法也是默认为public abstract的,即使我们没有对齐进行声明。我们其实可以将接口看成一个父类的,其中方法的调用之类的都是符合类的继承的相关问题的。我们new出的对象在内存区中会保存代码区方法的地址,如果能够调用就是表明有这个方法的地址,如果没有的话就是不可以对其进行调用的,如果我们声明了一个接口,然后让其指向一个对象,这个接口能够调用的方法就只是我们从该接口中获得的接口。