java基础第十天:面向对象---抽象类+接口+类接口抽象类总结

抽象类的用法

通常用来修饰父类层

抽象类是程序设计的结果

父类中有些方法的方法体会被子类重写,父类就可以不提供方法体

没有方法体的方法,父类就可以修饰成一个抽象方法

类中包含着抽象方法,那么这个类也要修饰成抽象类

抽象类有构造方法吗?–有,用来给子类new的

抽象类里有变量和常量吗?–都有

抽象类的方法可以都是普通方法吗?–可以,不能创建对象

子类继承抽象类以后,可以仍然是一个抽象类,还可以重写所有抽象方法

重写方法时,要有足够的权限,只是抽象方法必须重写,对于普通方法没有要求

接口

1.概述

接口是为了突破java的单根继承的局限性而来

接口可以多继承多实现

2.特点

1、 接口中都是抽象方法

2、 通过interface关键字创建接口

3、 通过implements让子类来实现

4、 可以理解成,接口是一个特殊的抽象类

5、 接口突破了java的单继承的局限性

6、 接口和类之间可以多实现,接口和接口之间可以多继承

7、 接口是对外暴露的规则,是一套开发规范

8、 接口提高了程序的功能扩展,降低了耦合性

3.接口的用法

构造方法

接口里是没有构造方法的。

在创建实现类的对象时默认的super(),是调用的默认Object的无参构造。

成员变量

接口里没有成员变量,都是常量。所以,你定义一个变量没有写修饰符时,默认会加上:

public static final

成员方法

接口里的方法,默认就都是抽象的,如果你不写明是abstract的,那会自动补齐。

例如:abstract void save

总结

1.类与类的关系

是继承关系,而且是单根继承

class A extends B

继承中,private和构造方法是不能被继承的

A可以继承B的所有功能(除了private)

A还可以进行功能扩展

A还可以修改原有功能,叫方法重写

重写的要求:子类的方法声明必须和父类一样+有足够的权限

重写,不影响原有功能,影响的是子类自己的

OCP原则开闭原则,是针对源码修改关闭的,对扩展开放

2.接口和接口的关系

是继承关系,而且可以多继承

interface A extends B,C

A可以同时拥有B和C的所有功能

class X implements A

X是实现类,A是接口

X需要重写A B C接口里的所有抽象方法

3.类和接口的关系

是实现关系,而且可以多实现

class X implements A,B

实现类X需要重写A,B接口里的所有抽象方法

在继承的同时,多实现

class X extends Y implements M,N

X是实现类,Y是父类,M和N是接口

X需要重写Y M N 里的所有抽象方法

否则就是一个抽象的X

4.接口和抽象类的区别

相同点

​ ----都是用来优化抽象层

​ ----都不能实例化

不同点

语法不同,修饰抽象类使用abstract,修饰接口用interface

抽象类里有常量,也有变量

接口里只有常量,而且可以简写

抽象类里的方法可以是普通方法也可以是抽象方法,不能简写

接口里的方法都是抽象方法,也可以简写

抽象类里有构造方法,用来给子类new

接口里没有构造方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值