当前位置 : 主页 > 网络编程 > 其它编程 >

Java中interface接口与abstractclass抽象类的区别

来源:互联网 收集:自由互联 发布时间:2023-07-02
Java中interface接口与abstractclass抽象类的区别interface和abstractclass是Java中实现多态的基础都很有用都很有用但也有一些区别 interface被继承时用的关键字是implements而且可以同时implements多个
Java中interface接口与abstractclass抽象类的区别interface和abstractclass是Java中实现多态的基础都很有用都很有用但也有一些区别 interface被继承时用的关键字是implements而且可以同时implements多个interface而abstract class被继承时用的关键字是extends而且只能同时extends一个abstract class。 interface内定义的方法都是public的而abstract class内的则不一定。 interface内定义的成员对象都是static 而abstract class不是 interface的方法不能有默认实现只有一个申明而abstract class内申明abstract的方法不能有实现非申明abstract的方法可以有默认实现。 interface被implements时所有方法都必须被实现必须申明是public的而abstract class被extends时只有abstract的方法才必须被实现别的有默认实现的直接被继承过来。 例子 public interface Instrument {     int i 5; //static t have method definitions:     void play(); //automatically public     void adjust(); } public abstract class AbstractCachedTable {     public Hashtable table new Hashtable();     abstract public void refresh();     public Object get(Object o) {         Object target null;         target table.get(o);         return target;     } } 一般情况下建议使用interface因为能同时implements多个interface的特性能更好地实现多态当需要有默认实现和成员对象时才考虑abstract class。 摘自http://guixian.iteye.com/blog/185763

转载于:https://blog.51cto.com/2197042/1157083

上一篇:天梯赛最佳情侣身高差(10分)
下一篇:没有了
网友评论