为什么会有一个新的" PolyLineOptions()之前的关键字?

时间:2017-04-30 13:02:20

标签: java android google-maps

我检查了源代码并且它不太清楚,我认为new仅用于实例化对象?

mMap.addPolyline(new PolylineOptions().add(startCoords, finalCoords))

2 个答案:

答案 0 :(得分:2)

  

我认为new只用于实例化对象?

正确。在这里,您要创建一个新的PolylineOptions实例。

答案 1 :(得分:1)

  

简而言之:这是 syntactic sugar

执行new PolylineOptions().add(startCoords, finalCoords)时,您实际上一次执行2个命令,它等同于:

  1. PolylineOptions tmp = new PolylineOptions();
  2. tmp.add(startCoords, finalCoords);
  3. 只有在执行第二行后,您才会将tmp的引用传递给mMap.addPolyline(...)