Has-java中的关系

Has-java中的关系,java,Java,在这个例子中,马有一个笼头。我们可以称之为myHalter.tie(绳子)像这样: public class Horse extends Animal { private Halter myHalter = new Halter(); public void tie(LeadRope rope) { myHalter.tie(rope); // Delegate tie behavior to the // Halter object } }

在这个例子中,马有一个笼头。我们可以称之为myHalter.tie(绳子)像这样:

public class Horse extends Animal {
    private Halter myHalter = new Halter();
    public void tie(LeadRope rope) {
        myHalter.tie(rope); // Delegate tie behavior to the
      // Halter object
    }
}

public class Halter {
    public void tie(LeadRope aRope) {
    // Do the actual tie work here
}
}

它给出了一个错误。我对此的解释是,它不是main()方法,但任何人都可以用更好的方式解释它。

除了类主体中的变量/字段声明之外的语句必须放在方法主体、构造函数或初始值设定项块中。例如,如果您尝试编译以下代码,则可以:

public class Horse extends Animal {
    private Halter myHalter = new Halter();

        myHalter.tie(rope); // Without using the public void tie method

}

类主体中除变量/字段声明之外的语句必须放入方法主体、构造函数或初始值设定项块中。例如,如果您尝试编译以下代码,则可以:

public class Horse extends Animal {
    private Halter myHalter = new Halter();

        myHalter.tie(rope); // Without using the public void tie method

}

您不能在类块中调用方法,您必须创建方法,然后才能在方法体中调用方法,或者您可以在静态、实例或构造函数块中调用方法

您不能在类块中调用方法,您必须创建方法,然后才能在方法体中调用方法,或者您可以在静态、实例或构造函数块中调用一个方法

-
有一种关系
被称为
组合

public class Horse {

    private Halter myHalter = new Halter();

    {
       myHalter.tie(new LeadRope());
    }
}
-我们可以说
浴室
有一个类型的引用
浴缸
,这意味着
浴室
有一个类型的实例变量浴缸好的,试试这个

-
有一种关系
被称为
组合

public class Horse {

    private Halter myHalter = new Halter();

    {
       myHalter.tie(new LeadRope());
    }
}

-我们可以说
浴室
有一个类型的引用
浴缸
,这意味着
浴室
有一个类型的实例变量浴缸

是代码
myHalter.tie(rope)在一个方法中?或者这就是你的密码?如果不是,这就是问题所在。想想你希望什么时候调用它,并把它放在正确的位置。如果希望在对象初始化期间调用它,请将其放入构造函数中。如果在一个方法中-把它放在一个方法中。你想做什么?如果你告诉我们,也许我们能帮上忙在一个方法中?或者这就是你的密码?如果不是,这就是问题所在。想想你希望什么时候调用它,并把它放在正确的位置。如果希望在对象初始化期间调用它,请将其放入构造函数中。如果在一个方法中-把它放在一个方法中。你想做什么?如果你告诉我们,也许我们能帮上忙。