admin管理员组文章数量:1487745
类的关系——依赖关系
1、特点
- 指一个类A使用到了另一个类B
- 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A
- 表现:类B作为参数被类A在某个方法中使用(形参)
2、代码实现
2.1 形式参数
代码语言:javascript代码运行次数:0运行复制//依赖关系
//公交车类
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代码运行次数:0运行复制//类A
public class A {
public A() {
}
public void method() {
B b = new B();
}
}
//类B
public class B {
public B() {
}
}
2.3 静态方法的调用
代码语言:javascript代码运行次数:0运行复制//类A
public class A {
public A() {
}
public void method() {
B.staticMethod();
}
}
//类B
public class B {
public B() {
}
public static void staticMethod() {
}
}
2.4 返回值
代码语言:javascript代码运行次数:0运行复制//类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代码运行次数:0运行复制//类:发送器
public class Sender {
public Sender() {
}
public void send(Message message) {
}
}
//类:消息
public class Message {
public Message() {
}
}
4.2 Java API静态方法
代码语言:javascript代码运行次数:0运行复制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();
}
}
本文标签: 类的关系依赖关系
版权声明:本文标题:类的关系——依赖关系 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/shuma/1754860407a3180513.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论