博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java抽象类和接口的区别
阅读量:5135 次
发布时间:2019-06-13

本文共 735 字,大约阅读时间需要 2 分钟。

简单来说 : 抽象方法 -> “是不是”,类的基本属性 ,子类实现其中的抽象方法; 接口 ->"有没有" ,类的额外功能,子类实现里面的全部方法; 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 另外,实现接口的一定要实现接口里定义的所有方法,为此,我们可以多设计几个接口 -> 一个功能对应一个接口(松耦合);而实现抽象类可以有选择地重写需要用到的方法,但是也要把未实现的方法补全; 一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用. 具体来说 海子:    http://www.cnblogs.com/dolphin0520/p/3811437.html 扩展:面向对象的理解:  当我想要一辆小轿车,有自动驾驶、手动挡、开灯、喇叭等功能, 那么我可以设计多个功能接口,使得这辆汽车(自己)有这些功能,功能要各个子类自己实现;;  我的小轿车是属于车辆的类型,要有车辆的所有基本属性 ->四个轮子、车窗、车灯等等,那么我可以设计一个抽象父类(概念车),然后子类继承这个,那么这个子类就叫 ----->>>> 有上述功能的小轿车!
(如果所有子类都自己去实现,,那么相当有点麻烦,而且功能相同的类,代码就会重复,所有要用抽象父类来实现这些个接口 -> 用来理解接口-抽象类-实现子类 的层级关系);

转载于:https://www.cnblogs.com/neversayno/p/5412404.html

你可能感兴趣的文章
Spring JDBCTemplate
查看>>
Radon变换——MATLAB
查看>>
第五章笔记
查看>>
Iroha and a Grid AtCoder - 1974(思维水题)
查看>>
gzip
查看>>
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>
VS2008 去掉msvcr90的依赖
查看>>
当前记录已被另一个用户锁定
查看>>
Bootstrap
查看>>
Node.js 连接 MySQL
查看>>
ACM-ICPC 2018 world final A题 Catch the Plane
查看>>
那些年,那些书
查看>>