Java面向对象(五)

一.接口java

一、接口的语法
访问修饰符  interface 接口名{
主体; 
}
二、接口中包含哪些内容
1) 公共常量 ==》 public static final 数据类型 常量名=值;
public static final 能够省略;
2)公共抽象方法   ==》 public abstract 返回值类型 方法名(参数列表);
public abstract能够省略。
3)注: 以上是JDK8以前,JDK8有所变化
新增两种方法 : 
默认方法 : public default 返回值类型(参数列表){方法体}
静态方法 : public static 返回值类型(参数列表){方法体}
三、接口的应用编程

1) 不能new,不能实例化。对象

2) 找一个类实现接口。实现:implements:  格式:public clsss 类名 implements 接口名{ }继承

3) 并在实现类(实现接口的类)中要对抽象方法给出实现。方法重写。接口

4) 接口也支持多态。接口类型 接口引用 = new 实现类();生命周期

5) 接口之间能够继承,并且能够多继承。开发

6) java只支持单一继承,但能够多实现。class 类名 implements 掊口名,接口名{ }class

7) 一个类能够同时继承于一个父类和实现多个接口。class 类名 extends 父类 implements 接口{}
四、面向接口编程
1)针对接口(抽象)编程,不针对实现类编程
2) 知足:开-闭原则进行开发。
3) 程序可扩展性强,易维护
4)接口和实现分离了,适于团队的协做开发
5)实现松散耦合的系统,便于之后升级,扩展。变量

二.抽象类与接口的区别扩展

一、抽象类和接口的区别
1)、相同点:
抽象类和接口都不能实例化对象
抽象类的子类和接口的实现类都实现抽象类或接口中的抽象方法
2)、不一样点:

2.1)、interface须要实现,要用implements,而abstract class须要继承,要用extends。

2.2)、一个类能够实现多个interface,但一个类只能继承一个abstract class。

2.3)、interface强调特定功能的实现,而abstract class强调所属关系。
2.4)、抽象类是由多个子类抽象而得。而接口是多个方法的抽象

三.类之间的关系

一、泛化关系   :类与类之间的继承关系 ,接口之间的继承关系

二、实现关系 :类实现接口,重写接口中的方法

三、关联关系  :QQ用户和QQ好友 平等的关系。  在QQ用户类中有一个属性好友的属性

四、聚合关系 : 总体和部分之间各有本身独立的生命周期  汽车  :发动机

五、组合关系  :强聚合关系(总体和部分)  部分依赖于总体的生命周期。   身体:四肢

六、依赖关系 : 弱关联关系   表示:一个类在另外一个类的方法中出现(参数,返回值,局部变量)

四.is-a,has-a,like-a区别

A 和 B 为两个类

1.is-a就是说: 一个对象是另外一个对象的一个子类。

A is-a B 表示 A继承于B(只继承未添加新方法); 

A is-like-a B 表示 A继承于B(添加了新方法);

2.has-a表明类和它的成员之间的关联关系。这有助于代码的重用和减小代码的错误。

A has-a B 表示 A 中使用了 B 类的对象

相关文章
相关标签/搜索