关于接口和抽象类

关于抽象类

抽象类使用abstract关键字,在类的继承层次中  位于上层的类因为更具有通用性,所以他的方法也更加抽象。

使用抽象类的注意问题:1即使不含有抽象方法,也可以把这个类声明为抽象类  2抽象类不能被实例化,但是可以定义一个对象变量来引用非抽象子类的对象 3扩展抽象类要么定义部分抽象方法或者不定义,这时候子类必须声明为抽象类,从这个层次上来说,抽象类里面的抽象方法充当着占位的角色,要么定义全部抽象方法,这时候子类就不是抽象的了

关于接口

可以把接口理解成一个没有实例域的抽象类,这里要注意 尽管不能定义实例域和静态方法 可以可以定义常量 如SwingConstants 就是这样的一个接口 只有关于方向的常量

关于这两个概念更深层次的区别 或者说干吗要提出两个不同的概念,可以拿它和c++的来做对比,因为c++支持类的多继承,但是java的类不支持多继承,所以提出接口来间接的实现多继承,因为一个类可以实现多个接口。

小弟刚接触java 关于如何使用接口实现多继承 实在没找到相关的例子,并且主观认为因为接口中不能定义实例域,所以多继承 主要是为了继承方法,可以要是碰到需要继承实例域怎么办呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值