在Java中,如何将调用方法的对象作为参数传递给该方法?
在一个名为Ship的类中,我有一个名为PositionSetter的方法。它需要一个Board对象作为参数。每个Board对象都应该调用PositionSetter方法,并将自身作为参数传递。我该怎么做? 代码: 同样,调用上述方法的对象是一个需要将自身作为参数传递的Board对象。欢迎选择我的方法。试试下面的东西 Main.java在Java中,如何将调用方法的对象作为参数传递给该方法?,java,oop,arguments,Java,Oop,Arguments,在一个名为Ship的类中,我有一个名为PositionSetter的方法。它需要一个Board对象作为参数。每个Board对象都应该调用PositionSetter方法,并将自身作为参数传递。我该怎么做? 代码: 同样,调用上述方法的对象是一个需要将自身作为参数传递的Board对象。欢迎选择我的方法。试试下面的东西 Main.java public class Main { public static void main(String[] args) { Ship ship=new S
public class Main
{
public static void main(String[] args) {
Ship ship=new Ship();
ship.PositionSetter(ship); // call method inside Ship class
}
}
public void PositionSetter(Board BattleshipBoard, Ship ship)
{
//do stuff with BattleshipBoard and ship
}
Ship.java
public class Main
{
public static void main(String[] args) {
Ship ship=new Ship();
ship.PositionSetter(ship); // call method inside Ship class
}
}
public void PositionSetter(Board BattleshipBoard, Ship ship)
{
//do stuff with BattleshipBoard and ship
}
我不能完全理解你的意思 猜猜看 首先,, 您可以编写一个接口,例如:
public interface ObjInter {
}
public class Board implements ObjInter {
...
}
然后,将调用该方法的其他对象必须实现该接口,例如:
public interface ObjInter {
}
public class Board implements ObjInter {
...
}
最后,您的方法可以这样写:
public void PositionSetter(Board BattleshipBoard, ObjInter obj) {
//do stuff with BattleshipBoard and ship
}
是否满足您的问题?如果您的Board类中有一个ship对象“shipOne”, 然后,您可以从Board类调用其PositionSetter方法,如下所示:
shipOne.PositionSetter(this,shipOne);
这回答了您的问题。不过,我有以下建议:
1.我认为将船舶设置在其位置是董事会的责任。我不知道为什么船舶类中有定位器方法。
2.另外,我不理解ship参数的必要性。如果调用方法所传递的是同一个ship,那么您不必传递它。 无论如何,在方法中它都可以作为“this”访问。
3.方法名称应遵循camelCase命名约定。请参阅此处:
祝你战舰游戏好运 使用此。。。如
定位器(本船)代码>代码有问题:应该传递给PositionSetter()方法的缺少的板参数在哪里?