接口基础2

1.接口是什么?

1.定义:接口是一系列方法的声明,只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的功能。

2.语法结构

public interface 接口名{;
int num = 100;
// 属性 : 默认static final 修饰
// 由static 修饰的属性和方法不属于对象,可以由类名、接口名直接调用,具有唯一性,只属于类
// 方法: 没有方法体
public abstract void test();
}
// 只要一个结构体中 有抽象的方法就不能实例化,定义对象

2.为什么需要接口

JAVA的编程思想是抽象化(Abstract),只有抽象化才可以有万般变化。
Eg:

创建一个人的类
属性: name age …
方法: 吃饭 睡觉
以上的属性与方法不适用与所有的人,人类不够抽象,不可以定义所有种类的人。接口实现了方法的抽象化。实现了万般变化。

3.如何实现使用接口

创建一个类,实现 implements (继承 extends)这个接口
格式:

public class 类名 implements 接口名{
必须重写接口中所有的方法 : 改分号为大括号
方法中加上这个方法具体的 代码内容
}

4.继承和接口的区别和优缺点

1.继承:子类继承父类,子类继承父类所有(可以不定义)的属性与方法,定义新的属性和方法。若子类重写父类的方法,则优先调用重写之后的方法。参数中子类对象自动转型为父类对象。比如:大学生类定义的对象首先属于大学生类其次属于学生类。

2.接口:子类重写接口的所有方法。

3.继承和接口的区别:

(1)在面向对象编程中可以有多继承,但是只支持接口的多继承,不支持继承的多继承
继承在java中具有单根性,子类只能继承一个父类。

(2)在接口中只能定义静态常量,和抽象方法。而在继承中可以定义属性,方法,变量,常量等…

(3)某个接口被类实现时,在类中一定要实现接口中的抽象方法。而继承想调用那个方法就调用那个方法,毫无压力。

5.面向对象五大原则,设计一个项目时尽量遵循

1.单一职责原则

界面类写面板,按钮,标签。监听器类写动作,鼠标监听器。对象类可以写用户,书,人 ,学生。一个类的功能要单一,不要把太多代码与方法都写在一个类中。

2.开放封闭原则

扩展开放 、 扩展能力 : 多接口实现优先单继承
方法扩展抽象都用接口,属性以及一些必要的方法扩展用继承。
修改封闭 :对重要私密的属性,方法进行私有化

3.里氏替换原则 - 自动转型

一个地方需要的类型是父类类型的,这个父类的所有子类对象又可以替代父类。子类应当替换父类出现在父类可能出现的任何位置上。子类优先级高,

4.依赖倒置原则

具体(类)依赖抽象(接口),具体不依赖具体,抽象不依赖具体。
Eg: 张三有吃饭这个方法,参数为苹果类型(可转型为食物接口)。

5.接口分离原则

接口尽量单一功能定义。
LockInterface open close
OpenInterface open
有一个接口 – eat read fly
实现这个接口的实例类 - 人 熊 鸟
解决方案就是写成三个独立接口,人实现eat、read,熊实现eat,鸟实现eat、fly。避免eat、red、fly被鸟人实现。
注意:接口可以在不同类之间实现组合。多个类实现同一接口。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值