接口 是描述了类的一组需求,但是接口并不是只有 方法申明而已,还可以有 成员变量 比如 public static final
变量必须是 public static final 为什么么?
因为java不像c++ ,C++ 可以多继承,但是多继承会但来很麻烦的问题 ,比如说 一个类继承了多个父类,而这些父类之间的变量名可能会重复,
所有java 实现的是 单继承 !为此 变量必须用 public static final 申明,他不属于任何对象,而是属于整个类,多以就避免了重名和混淆,接口中也可以有定义完整的方法体 并不是说只有方法的申明而已
楼主应该 研究先 普通类 抽象类,接口之间的差异
我的总结如下:
Java 中的抽象类 是用 abstract 关键字修饰的 抽象类是这样的 :
1 用abstract 关键字修饰 拥有 用abstract修饰的方法
2 他不能被实例化,必须被继承,抽象方法必须被重写,
3.抽象方法只需声明,无需继承!
抽象类 也可以有成员变量,也可以有定义的完整方法!
Java中的 接口 是特殊的抽象类
成员变量 必须是 public static final
方法 必须是 public abstract
|