首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >类的关系——依赖关系

类的关系——依赖关系

原创
作者头像
用户11310608
发布2024-10-14 17:06:57
发布2024-10-14 17:06:57
1.1K0
举报

1、特点

  • 指一个类A使用到了另一个类B
  • 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A
  • 表现:类B作为参数被类A在某个方法中使用(形参)

2、代码实现

2.1 形式参数

代码语言:javascript
复制
//依赖关系

//公交车类
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 局部变量

代码语言:javascript
复制
//类A
public class A {

    public A() {

    }

    public void method() {
        B b = new B();
    }
}

//类B
public class B {

    public B() {

    }

}

2.3 静态方法的调用

代码语言:javascript
复制
//类A
public class A {

    public A() {

    }

    public void method() {
        B.staticMethod();
    }

}

//类B
public class B {

    public B() {

    }
    
    public static void staticMethod() {
           
    }
}

2.4 返回值

代码语言:javascript
复制
//类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 发送器和消息

代码语言:javascript
复制
//类:发送器
public class Sender {
    
    public Sender() {
        
    }
    
    public void send(Message message) {
        
        
    }

}

//类:消息
public class Message {
    
    public Message() {
        
    }

}

4.2 Java API静态方法

代码语言:javascript
复制
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();

    }

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、特点
  • 2、代码实现
    • 2.1 形式参数
    • 2.2 局部变量
    • 2.3 静态方法的调用
    • 2.4 返回值
  • 三、依赖与关联的区别
  • 四、经典案例
    • 4.1 发送器和消息
    • 4.2 Java API静态方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档