在Java中依赖关系到底是什么,可以定义说明一下么,或是举个例子

在Java中依赖关系到底是什么,可以定义说明一下么,或是举个例子,第1张

依赖关系是指一个类对别一个类的依赖,比如说Employee类中有一个方法叫做TakeMoney(Bank bank)这个方法,在这个方法的参数中用到了Bank这个类,那么这个时候可以说Employee类依赖了Bank这个类,如果Bank这个类发生了变化那么会对Employee这个类造成影响。

依赖关系:

类A依赖类B的意思是,如果A的对象要完成某一 *** 作,必须使用B的对象的某些 *** 作来帮忙,才能完成。简言之,B作为A的某个方法的方法参数存在。如下:

class A{

public void f(B b){

}

}

Class B{

}

//A为一个圆柱体类,要求A实例的体积

public class A{

public static void main (String[] args){

double zArea=0

B b=new B() //底面积及为一个圆(B类)的面积

double height = 1.6

//调用B类实例的getArea()方法,形成依赖关系

zArea=b.getArea(4)*height //半径r=4,高height=1.6

}

}

//圆类B

class B{

public double getArea(int r){

double area=0

area=3.14159*r*r

return area

}

}

假设你编写了两个类,一个是人(Person),一个是手机(Mobile)。

人有时候需要用手机打电话,需要用到手机的callUp方法。

传统的写法是这样:

Java code

public class Person{

public boolean makeCall(long number){

Mobile mobile=new Mobile()

return mobile.callUp(number)

}

}

也就是说,类Person的makeCall方法对Mobile类具有依赖,必须手动生成一个新的实例new Mobile()才可以进行之后的工作。

依赖注入的思想是这样,当一个类(Person)对另一个类(Mobile)有依赖时,不再该类(Person)内部对依赖的类(Moblile)进行实例化,而是之前配置一个beans.xml,告诉容器所依赖的类(Mobile),在实例化该类(Person)时,容器自动注入一个所依赖的类(Mobile)的实例。

接口:

Java code

public Interface MobileInterface{

public boolean callUp(long number)

}

Person类:

Java code

public class Person{

private MobileInterface mobileInterface

public boolean makeCall(long number){

return this.mobileInterface.callUp(number)

}

public void setMobileInterface(MobileInterface mobileInterface){

this.mobileInterface=mobileInterface

}

}

在xml文件中配置依赖关系

Java code

<bean id="person" class="Person">

<property name="mobileInterface">

<ref local="mobileInterface"/>

</property>

</bean>

<bean id="mobileInterface" class="Mobile"/>

这样,Person类在实现拨打电话的时候,并不知道Mobile类的存在,它只知道调用一个接口MobileInterface,而MobileInterface的具体实现是通过Mobile类完成,并在使用时由容器自动注入,这样大大降低了不同类间相互依赖的关系。

java依赖注入的方法:set注入,构造方法注入,接口注入。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11539620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存