(JAVA)在一行中初始化对象 - 调用方法

时间:2015-04-04 02:43:06

标签: java variables methods null

public perform Ulti (Location origin, int number) { 

        Map i = new Map(origin, i.getDestination(), number);

} 

Map的构造函数是(Location n,Location m,int k);

我的问题是,我不知道目的地,但Map中有一个名为getDestination()的方法。我知道原点输入第一个参数,我该如何使用新创建的对象的方法?

注意:Map对象不能为null; //所以我不确定我可以使用的其他占位符

3 个答案:

答案 0 :(得分:1)

如果你有一个保存目的地的变量,那么你必须先设置它

例如:

map i = new map(); 
i.setDistination("----");
String distination = i.getDistination();

但在您的示例中,您只需键入目标或从其他对象获取目标。

答案 1 :(得分:1)

您可以在Map课程中执行以下操作 -

class Map{

   Location origin;
   Location destination;
   int number;

   //create a no argument constructor so that your Map can 
   // be created without any constructor whenever required
   Map(){

   }

   //create a constructor with two argument
   Map(Location origin, int number){
      this.origin = origin;
      this.number = number;
   }  


  //getter and setter methods.

}   

现在您可以像这样创建Map实例/对象 -

Map i = new Map(origin, number);
Location m = // some code for generating Location as destination
i.setDestination(m);

答案 2 :(得分:0)

如果没有创建,则无法调用和对象的方法。如果可以的话,传递一个对象已经拥有的值是没有意义的。目的地是什么?如果您有其他方法可以访问它,只需向Map添加一个空构造函数即可。 喜欢这个

public class Map{
     public Map(){

     }
     //Rest of code
}

现在您可以创建没有目标的对象:     Map i = new Map(); 然后设置目的地。