抽象类和接口

本文探讨了抽象类和接口在编程中的不同角色。抽象类用于表示对象的本质抽象,如生物与非生物,而接口定义了行为规范,如人的动作。一个类只能继承一个抽象类,但可以实现多个接口。抽象类可以有具体方法和属性,接口则只包含抽象方法和常量。子类继承抽象类必须实现所有抽象方法,除非自身也是抽象类;实现接口时,非抽象类必须实现所有接口方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抽象类要用abstart修饰,不能用new创建,抽象类里面可以定义抽象方法,但没有抽象方法的实现,只能用子类去实现它(extends继承)

接口要用interface修饰,接口不能被实例化,没有构造方法,接口用implements继承,实现接口时可以实现(继承)多个接口,实现接口时必须重写接口中的方法.

概念不一样,抽象类是对对象的抽象,是本质的抽象(比如人,分男人和女人,生物和非生物),接口是一种行为规范,是对动作的抽象(人吃东西).所以,一个类只能继承一个抽象类(人不能同时是生物和非生物只能选一个),而一个类可以同时继承多个接口.

从使用上看,抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量.

抽象类中不能有任何实现,他的子类除非还是抽象类,否则必须覆盖(重写)所有的抽象方法.   接口中所有的方法都必须是未实现的.子类实现接口,如果子类是抽象类则不必实现接口中所有的方法(因为抽象类里允许存在抽象方法),但如果不是抽象类那就必须重写所有的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值