这问题我遇到过,什么时候用Interface呢,首先你要弄清接口的含义.接口就是提供一种统一的'协议’,而接口中的属性也属于'协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量。
但是,当你的子类中都包含一个name的属性呢?那么能将name放到接口中吗?
答案是:不行;因为放在接口就必须定义为静态常量,那你的子类继承到的只是一个死值,还能动态改变吗,不行
这时候就得使用abstract来修饰了,abstract修饰的类中可以放常量,变量,和实现的方法还有abstract方法等等
如果父类中的一个方法必须让子类重写,那么就将这个方法声明为abstract类型的就可以啦! |