1、特点
- 指一个类A使用到了另一个类B
- 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A
- 表现:类B作为参数被类A在某个方法中使用(形参)
2、代码实现
2.1 形式参数
//依赖关系
//公交车类
public class Bus {
private int num;
private String name;
public Bus() {
// TODO Auto-generated constructor stub
}
}
//食物类
public class Food {
private String name;
private double price;
public Food() {
// TODO Auto-generated constructor stub
}
}
//人类(测试类)
public class People {
private String name ;
private int age;
public People() {
// TODO Auto-generated constructor stub
}
public void travel(Bus bus) {
}
public void eat(Food food) {
}
}
2.2 局部变量
//类A
public class A {
public A() {
}
public void method() {
B b = new B();
}
}
//类B
public class B {
public B() {
}
}
2.3 静态方法的调用
//类A
public class A {
public A() {
}
public void method() {
B.staticMethod();
}
}
//类B
public class B {
public B() {
}
public static void staticMethod() {
}
}
2.4 返回值
//类A
public class A {
public A() {
}
public B method() {
return null;
}
}
//类B
public class B {
public B() {
}
}
三、依赖与关联的区别
关联是“HAS”关系,依赖是“USE”关系
-A类关联B类,指的是B类对象作为A类的属性存在,称为“has”关系。
-A类依赖B类,指的是B的对象作为A类的方法形式参数存在,称为“use”关系。当然,也包括局部变量、返回值类型和静态方法调用这三种场景。
生命周期不同
-如果A类关联B类,那么创建A类的对象时实例化B类的对象,直到A类对象被销毁,所关联的B类对象也被销毁。即只要A类对象存在,B类对象就存在。
-如果A类依赖B类,那么只有当A类对象调用到相应方法时,B类对象才被临时创建,方法执行结束,B类对象即被回收,A类和B类之间的依赖关系是一种瞬时的关系。
四、经典案例
4.1 发送器和消息
//类:发送器
public class Sender {
public Sender() {
}
public void send(Message message) {
}
}
//类:消息
public class Message {
public Message() {
}
}
4.2 Java API静态方法
public class Client {
public static void main(String[] args) {
// 常用静态方法
long currentTime = System.currentTimeMillis();
double randomNum = Math.random();
int num = Integer.parseInt("100");
String string = String.valueOf(true);
DateFormat dateFormat = DateFormat.getDateInstance();
}
}