java中抽象类和接口的相同点和不同点,抽象类和接口的相同点与不同点

接口和抽象类的相同点

(1)接口和抽象类都是一种类型

(2)一个具体类继承一个抽象类或实现一个接口的时候必须要实现接口或抽象类中全部的抽象方法

(3)一个类继承一个抽象类或实现一个接口的时候,如果仅仅实现了抽象类或接口中部分的抽象方法,这个类必须要声明为抽象类

(4)一个类继承一个抽象类或实现一个接口的时候,如果实现了抽象类或接口中全部的抽象方法,这个类可以声明为抽象类,也可以声明为具体类

(5)接口和抽象类都是属于抽象层的,都是不能实例化的,都有抽象方法

接口和抽象类的不同点

(1)抽象类中可以有实例属性,而接口中没有实例属性。Java系统会给属性自动加上public、static、final修饰符,是公开的静态的常量。公开的静态的常量的命名规则:所有单词的字符都是大写的,不同的单词之间通过_连接

(2)抽象类中可以有实例方法,而接口中没有实例方法。接口中的方法都会被自动的加上public、abstract修饰符,是公开的抽象的方法

(3)抽象类中可以有构造方法,而接口中没有构造方法。接口为什么没有构造方法呢?

因为接口中没有实例属性和实例方法,而实例属性和实例方法又是在创建对象后才生效的,所以不需要创建接口的对象,那么接口就不需要构造方法

(4)在内存中有抽象类的对象;在内存中没有接口的对象。连构造方法都没有不会有对象

(5)抽象类可以使用this,接口不可以使用this

因为this是在实例方法和构造方法中使用的,接口没有实例方法和构造方法,所以没有this

(6)抽象类可以继承一个(具体、抽象)类,而接口不能继承类,接口只能继承接口

(7)类和类之间只能使用单继承,接口和接口之间是多继承

(8)类和类之间使用的是extends,类和接口之间使用的是implements

(9)一个类只能继承一个直接的基类,而一个类可以同时实现多个接口

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值