Java学习-抽象

来源:互联网 发布:早期电脑网络打枪游戏 编辑:程序博客网 时间:2024/06/05 02:48
抽象
抽象类——用可选修饰符abstract修饰的类
特点 1、不能产生对象(原因:对象时具体的,实际的存在,不应该有不确定的东西)
2、抽象类存在的意义在于产生子类
3、抽象类里边可以定义:属性/构造/方法/初始化块,总之该有的都有
4、语法上允许一个抽象类里边没有抽象方法,但是这样做失去了设计的意义
5、只能设计在类和方法上
抽象方法
如果一个方法,我们只能确定他的声明为无法确定他的实现,那么该方法就要设计抽象方法
语法:在方法的声明部分加上一个可选修饰符abstract
该方法不能有方法的实现部分,连{}都不能有,用;结束
有抽象方法的类叫做抽象类,必须在类修饰符前边加上abstract
使用
子类继承抽象类,必须实现抽象类中的所有方法,除非这个子类自己也是抽象类

接口
为什么,干嘛的
让没有继承关系的类也能共享行为。
解决单继承,丰富度不够的问题
特点
接口是一种独立的数据类型
接口关注的是行为的共享
语法
语法定义
关键字:interface—这说明接口是一种独立的数据类型
接口在语法上访问修饰符只能是public或默认
公共接口的名字,必须和他所在的Java文件名保持一致
属性:只能是public、static、final,就算不写也是public、static、final
构造:接口不能有构造方法
方法:接口当中的方法是公开的,抽象的,就算不写也是public、abstract,也会默认是公共抽象的
在JDK1.8中,接口拥有新的功能,可以书写实现了的功能(加default)
public default void method()
初始化块:接口不能有初始化块

实现
接口的第一种用法:让类实现接口,使用关键字implements
特点
实现接口的类必须实现接口的所有抽象方法,煮沸这个类是抽象类
一个类可以实现多个接口,在implements关键字后边书写多个接口的名字,中间用,分隔
类在实现接口的同时,可以做继承
继承接口
接口可以继承接口,使用关键字extends
特点
1)子接口竭诚父类接口后,自动拥有父接口的抽象方法
2)接口继承接口允许多继承
接口的引用
可以指向实现类的对象

接口与抽象继承
在设计的时候,先把问题实物与生俱来的写到父类抽象继承中去
附属添加的行为提到接口中

设计原则
1、开闭原则 2、单一职责 3、最小接口原则
0 0