下面是一个示例代码,实现了一个依赖关系的场景:
=================
public class Car {
public void startEngine() {
System.out.println("Engine started.")
}
}
public class Driver {
private Car car
public Driver(Car car) {
this.car = car
}
public void drive() {
car.startEngine()
System.out.println("Car is being driven.")
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car()
Driver driver = new Driver(car)
driver.drive()
}
}
=================
在这段代码中,Driver类的构造函数接收一个Car类的实例作为参数,并将它保存在私有字段car中。在Driver类的drive方法中,我们首先调用了car实例的startEngine方法,然后打印一条消息,表示汽车正在被驾驶。
关联关系通常表示为两个类之间的关系,它们之间的关系可能是一对一,一对多或多对多。例如,假设我们有一个名为Student的类,它有一个名为enroll的方法,用于选课。我们还有一个名为Course的类,它有一个名为addStudent的方法,用于添加学生。那么Student类和Course类之间就存在一对多的关联关系,因为一个学生可以选择多个课程,而一个课程也可以被多个学生选择。
下面是一个示例代码,实现了一个关联关系的场景:
=================
public class Student {
private List<Course>courses = new ArrayList<>()
public void enroll(Course course) {
courses.add(course)
course.addStudent(this)
}
}
public class Course {
private List<Student>students = new ArrayList<>()
public void addStudent(Student student) {
students.add(student)
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student()
Course course1 = new Course()
Course course2 = new Course()
student.enroll(course1)
student.enroll(course2)
}
}
=================
在这段代码中,Student类拥有一个私有字段courses,表示学生选择的课程。Student类的enroll方法用于选课,它接收一个Course类的实例作为参数,并将它添加到courses列表中。同时,enroll方法还会调用课程实例的addStudent方法,将学生添加到课程的学生列表中。
在Main类的main方法中,我们创建了一个学生实例和两个课程实例。我们调用学生实例的enroll方法,将两个课程实例添加到学生的选课列表中,同时将学生添加到两个课程的学生列表中。这就实现了一对多的关联关系。
总之,依赖关系和关联关系都是表示两个类之间的关系,但是它们之间的关系不同。依赖关系表示一个类依赖于另一个类,因为它需要调用另一个类的方法或构造函数来完成它的工作;关联关系表示两个类之间的关系,它们之间可能是一对一,一对多或多对多。
不是继承:
package
a.sample
public
class
a{int
a
=
1}
package
a.sample
public
class
b
extend
A{int
B
=
A}
//这是有效的
也就是B继承了A类
B类可以用A类的变量A
依赖:
下面重给a类:
package
a.sample
import
a.sample.b
public
class
a{int
a
=
1int
c
=
b.B}
//如果删掉B类,此代码无效!
也就是说a类引用了b类的b变量
这就是一个依赖的关系,所以构成依赖
java开发的项目中模块、包、类、接口是继承关系、实现关系、依赖关系。学习java开发,推荐千锋教育,以初心至善,匠心育人为企业价值观,以草根精神、创业精神、协同精神、奉献精神为企业精神,值得选择。继承指的是一个类(称为子类、子接口)继承另外的一个类(父类、父接口)的功能,并可以增加它自己的新功能的能力。在java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。实现指的是一个Class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在java中实现关系通过implements明确标识,在设计时一般没有争议性。依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性、临时性、非常弱的,但是类B的变化会影响到类A。比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。表现在代码层面为,类B作为参数被类A在某个method方法中使用。
想要了解更多关于java开发的相关信息,推荐咨询千锋教育。千锋企业合作部于2013年成立,主要针对企业用人需求和学员职业规划进行服务。经过8年发展,企业合作部已经成为千锋连接企业和学员的重要纽带。服务面对企业建立全方位、立体化、遍布全国的企业合作网络,覆盖全国一线二线城市大中小型公司,成功帮助20000余名人才实现就业,合作企业达20000余家,每年签订1000余份人才培养订单,让广大学员没有后顾之忧。