zoukankan      html  css  js  c++  java
  • Java抽象类和接口的区别

    简单来说 : 抽象方法 -> “是不是”,类的基本属性 ,子类实现其中的抽象方法; 接口 ->"有没有" ,类的额外功能,子类实现里面的全部方法;
    接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,
    另外,实现接口的一定要实现接口里定义的所有方法,为此,我们可以多设计几个接口 -> 一个功能对应一个接口(松耦合);而实现抽象类可以有选择地重写需要用到的方法,但是也要把未实现的方法补全;
    一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
    还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
    具体来说
    海子: http://www.cnblogs.com/dolphin0520/p/3811437.html



    扩展:面向对象的理解:
    当我想要一辆小轿车,有自动驾驶、手动挡、开灯、喇叭等功能, 那么我可以设计多个功能接口,使得这辆汽车(自己)有这些功能,功能要各个子类自己实现;;
    我的小轿车是属于车辆的类型,要有车辆的所有基本属性 ->四个轮子、车窗、车灯等等,那么我可以设计一个抽象父类(概念车),然后子类继承这个,那么这个子类就叫 ----->>>> 有上述功能小轿车

    (如果所有子类都自己去实现,,那么相当有点麻烦,而且功能相同的类,代码就会重复,所有要用抽象父类来实现这些个接口 -> 用来理解接口-抽象类-实现子类 的层级关系);
    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    Java小白集合源码的学习系列:Vector
    Java小白集合源码的学习系列:LinkedList
    707.设计双向链表
    Java小白集合源码的学习系列:ArrayList
    Leetcode动态规划【简单题】
    小白学Java:老师!泛型我懂了!
    小白学Java:包装类
    Java面向对象之异常详解
    Java面向对象之异常【一】
    浅谈Java中接口与抽象类的异同
  • 原文地址:https://www.cnblogs.com/neversayno/p/5412404.html
Copyright © 2011-2022 走看看