抽象类和接口的理论知识

抽象类
1.抽象方法和普通方法的区别:
抽象方法 public 方法名();
普通方法 public 方法名(){
方法体
}
区别在于有无方法体
2.抽象类与普通类的区别:
1.抽象类不能被实例化,但是可以创建一个引用变量,其类型是抽象类,指向非抽象的子类实例
2.普通类可以被实例化
3.抽象类和抽象方法的使用:
①抽象类中可以没有抽象方法,但是有抽象方法的类必须定义为抽象类
②如果子类没有实现父类所有的抽象方法,那么子类必须被定义为抽象类
③没有抽象构造方法,也没有抽象静态方法
④抽象类中可以有非抽象的构造方法,创建子类的时候随时调用
⑤一个文件中可以有多个class文件,但是只能有一个public class ,main只能写在public class内

              接口理论知识

1.什么是接口:
接口时has-a的关系,继承是单继承,是is-a的关系
2.接口的特性:
①接口中可以有常量,但是不可以有变量
②接口中所有的方法都是抽象方法
③接口跟抽象类一样,不可以被实例化
④接口的命名规则与类一样
⑤一个类只有一个直接父类,但是可以有多个接口,通过关键字implement 可以实现多个接口。如果有继承关系,那么implement必须在extends后面
⑥接口的实现类必须实现接口所有的方法
3.接口和抽象类的区别:
接口利于代码维护,抽象类利于代码复用
4.接口和抽象类的:
相同点:
①都不能被实例化
②都包含有抽象方法
③代表系统的抽象层
不同点:
①抽象类中可以有默认的抽象方法,但是接口中只有公共的抽象方法或公共的静态常量(接口利于维护,抽象类利于复用)
②一个类只有一个直接的父类,但是可以有多个接口
③已存在的继承数,可以方便的抽取接口,但是抽取方法不容易

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jackfjm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值