Java 旅行者和汽车等级之间是如何紧密耦合的?

Java 旅行者和汽车等级之间是如何紧密耦合的?,java,Java,你的问题可能意味着什么。我完全猜,问题可能是使用接口还是具体类 这种情况下的耦合源于这样一个事实,即出行者直接参考了汽车类别,如果没有潜在的重大变化,它不可能是另一个类别。您可以做的是让汽车实现一个接口交通,并让旅行者通过交通工具。通过这种方式,旅行者确实需要知道它使用的是哪一类 class Traveler { Car c=new Car(); void startJourney() { c.move(); } } class Car {

你的问题可能意味着什么。我完全猜,问题可能是使用接口还是具体类

这种情况下的耦合源于这样一个事实,即出行者直接参考了汽车类别,如果没有潜在的重大变化,它不可能是另一个类别。您可以做的是让
汽车
实现一个接口
交通
,并让旅行者通过交通工具。通过这种方式,旅行者确实需要知道它使用的是哪一类

class Traveler {   
    Car c=new Car();

    void startJourney() {
        c.move();
    }
}

class Car {
    void move() { }
}
Traver
课程对
Car
课程有深入的了解。他知道它存在,他知道它有一个名为
move
的方法


然而,
Car
Traveler
一无所知,所以我不会称之为“紧密耦合”。

您的问题不清楚,请详细说明。+1。很好的代码示例。
interface Transport {
    void move() { }
}

class Traveler {   
    final Transport transport;

    Traveler(Transport transport) {
         this.transport = transport;
    }

    void startJourney() {
        transport.move();
    }
}

class Car implements Transport {
    public void move() { }
}

// later
Traveler traveler = new Traveler(new Car());
traveler.startJourney();
class Traveler
{
    Car c = new Car();

    void startJourney()
    {
        c.move();
    }
}