怎么看java代码中接口调用关系

Python021

怎么看java代码中接口调用关系,第1张

类与类的关系

1、依赖关系

依赖关系表示一个类依赖于另一个类的定义。通俗来讲即是类A中使用了另外的一个类B,且类B并非类A中作为属性存在,即表示类A依赖于类B。对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。

class A{

public B method(C c){

B b = new B()

return b

}

}

登录后复制

2、关联关系

关联关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。通俗来讲即类A中有一个属性b,该属性的数据类型为类B,类A可以通过属性b调用类B的属性与方法。也即一般来说的has-a的关系。

class A{

public B b

}

登录后复制

3、聚合关系

聚合关系是特殊的关联关系,其与关联关系在代码上并无实际上的区别,二者的区别主要体现在语义上,关联关系即代表可有可无,而聚合关系则代表必须拥有(注:被聚合或关联的事务也代表一个单独的事务,其也有独立的意义。)举例说明就像笔记本电脑,其与外接鼠标就是关联关系,外接鼠标只是附件,而想cpu,内存条等是组成一个笔记本电脑所必须的,而他们的关系就是聚合关系。

class computer{

public Cpu cpu1

}

登录后复制

4、组合关系

组合关系也是特殊的关联关系,其类似于聚合关系,但比聚合关系更加的强,即对象 A 包含对象 B,对象 B 离开对象 A 没有实际意义。举例来讲就是作为一个人,你可以没有钱,但你不能没有脑子(物理),你与钱就是关联关系,钱乃身外之物,而你与大脑则是组合关系,大脑每人就一个,没了它,你便无法存在,而单独一个脑子离开了人也就失去了它应有的作用。

class person{

public Head head

}

登录后复制

5、继承关系

类与类的继承关系,类与接口的实现关系。继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。

class A extends B{

public A(){

super()

}

}

登录后复制

类与类之间的继承只能是单继承,但可以多层继承。

单继承即表示一个类只可以继承一个父类。

多层继承即是类A继承类B,而类B又继承了类C,所以类A间接继承了类C

类与接口之间的关系

注:Java8新增了默认方法和静态方法;

public interface A{

//抽象方法

public void a1()

//默认方法

default void a2() {

System.out.println("a2")

}

//静态方法

static void a4() {

System.out.println("a4")

}

}

登录后复制

其中,静态方法只供接口直接使用

类可以继承一个类且实现多个接口

注意:

1.如果多个接口中有同名的抽象方法,那么实现类只需要实现一次即可

2.如果多个接口中有同名的默认方法,那么实现类必须重写一次,并且要去掉default关键字

接口可以继承多个接口

注意:

1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可

2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方法,必须要加default关键字

接口可以看成是没有实例域的抽象类,是为了实现Java多重继承的功能。

接口可以将做什么和怎么做分离开,接口定义要做什么,通过implements Interface的类实现接口的function。

也就是这个类具有这个接口的方法,我们可以通过实例化这个类的对象,调用其所具有的接口的方法和自身的方法。