永发信息网

Java 中abstract class和interface有什么区别

答案:4  悬赏:0  手机版
解决时间 2021-02-19 03:09
不需要一大堆资料。只要详细的列出1、2、3、4这样的点
最佳答案
两者的语法区别:
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然
eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
7. 一个类可以实现多个接口,但只能继承一个抽象类。
全部回答
1.命名关键字不同,abstract class ,接口是interface 2.abstract class 只能单根继承一个类只可以继承一个父类,interface可以多重实现一个类可以实现几个接口, 最本质的区别就在这里吧
简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如remote接口)和数据共享(里面的变量全是常量)的作用.
interface是接口,所有的方法都是抽象方法,成员变量是默认的public static final 类型。接口不能实例化自己。 abstract class是抽象类,至少包含一个抽象方法的累叫抽象类,抽象类不能被自身实例化,并用abstract关键字来修饰
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
已知关于x的方程2kx-6=3x+m,求当k,m满足什么
两万六千台币等于多少人民币?
蝶恋花家纺在哪里啊,我有事要去这个地方
支付宝转账到农行为什么我的支付宝上没有交易
大学线性代数 AB为n阶方阵,|A|=2,|B|=3,|A-B|
万兴隆超市这个地址在什么地方,我要处理点事
乔振宇与张嘉译争夺奖项的入围电视?
儿子马上六年级了学习成绩差书写也不好怎么办
后塍羊肉馆怎么去啊,有知道地址的么
顾泠沅主持进行的“青浦实验”的主要成果是()
谭其峰中西医诊所在什么地方啊,我要过去处理
澳门哪里买正版casio手表好?最好便宜一点的
长城宽带 网线太长会影响网速不? 一根线太短
菠菜怎样吃最有营养
厦门新兴产业促进中心我想知道这个在什么地方
推荐资讯
「好不啦」是什么意思,哪的方言
dnf交易上限怎么解除
过生日去比格披萨
建设手机银行首次怎样登录
柠檬酸钙是什么?
有胸毛的男人命相好吗
梦见老婆骑在别的男人身上用剪刀剪伤他的臀部
湖南海德教育科技有限公司在什么地方啊,我要
飞利浦显示器32寸白色曲屏
艺术类美求联考成绩有用吗
云中商城地址有知道的么?有点事想过去
天敏电视机顶盒现在能正常收看电视台节目吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?