Java 抽象类和接口

10 篇文章 0 订阅
Java 抽象类和接口
抽象类接口
定义是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对类的进一步抽象抽象方法的集合
关键字extends、abstractimplements、interface
继承/实现单继承(实现继承)、可多层继承多实现(接口继承)
子类与父类之间的关系is ahas a
属性(变量)属性创建无特殊规定对于属性,默认用public static final修饰
方法体有方法体无方法体(Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法)
是否能实例化不能不能
是否有构造方法有,抽象类不能用构造方法实例化,子类可以通过调用父类的构造方法来初始化父类中的成员变量
子类对于父类属性和方法的使用1、可以直接访问父类中的非私有的属性和方法,可以有自己的属性和方法
2、可以使用super关键字访问父类的属性和方法
3、子类需要重写父类的抽象方法
1、可以使用接口中的常量
2、需要重写接口中的所有的抽象方法
优点提高了代码的可复用性提高了代码的可扩展性、可维护性
缺点提高了代码之间的耦合度,父类改动后会影响所有子类对于实现接口的普通类,必须实现口中的所有抽象方法
使用时机是否需要从子类向父类进行向上转型。如果必须向上转型,则继承是必要的,但是如果不需要,则应当好好考虑自己是否需要继承需要考虑代码的可扩展性和可维护性时
使用语法格式[访问符] abstract class ClassName {
        // 声明变量
        // 方法、抽象方法
}
[访问符] interface 接口名称 [extends 其他的接口名] {
        // 声明变量
        // 抽象方法
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值