1)一个类,首先需要在内存中有一个类对象,然后类对象生成类的对象
2)接口中为什么是常量呢?
因为类在被实例化之后,会初始化变量的值,比如String 为null ,int是0。但是接口不能被实例化,不能实例化就不能赋初始值,这样代码编译的时候就会出现问题。所以是常量。
3)为什么常量会被final和static修饰呢?
首先是final:2中讲述了接口不能被实例化,所以需要赋予值,如果接口中的值被更改了,那么这个接口的这个常量设置的有什么意义呢?static是所有对象都可以访问的。但是接口没有对象,所以必须要通过类的方式来进行访问。
4)接口可以实现抽象,抽象类也能实现抽象。为什么还需要接口呢?
因为首先抽象类只能被单继承,接口可以实现多继承。并且抽象类中拥有非final的变量,但是接口的修饰变量类型一定是final,abstract,和public。确定了整体的规范性。