[英]Problem understanding java code?
我不懂這段代碼,您能解釋一下嗎
grid
是一個int[][]
distbest
被初始化
double distbest
int turn = 60;
if (g > 1)
this.grid = turn(distbest * turn).grid;
else
this.grid = turn(-distbest * turn).grid;
該代碼非常簡單,所以您不理解它呢?
也許讓您感到困惑的是, turn
用作變量名和方法名這兩種turn(distbest * turn)
是方法調用,並且返回對象的grid
字段已分配給this.grid
。
除了是int
類型的turn
變量之外,還必須有一個未顯示的int[][] turn(double)
方法。 通常,將方法命名為與變量相同的做法是錯誤的做法,因為它會導致您正遇到的混亂類型。 如果可能,考慮者重命名變量或方法。
這個部分:
turn(distbest * turn)
意味着有一個函數turn
返回一個對象 ,該對象包含以double為參數的grid
。 代碼中未顯示的是返回類型。
因此,我可以說的是,該函數的聲明類似於
Grid turn(double d);
Grid
(虛擬的)具有int[][] grid
的public
屬性(這就是turn(distbest * turn).grid
可能的原因)。
我將所有這些都基於上面列出的示例代碼。 另一turn
是參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.