簡體   English   中英

創建對象並在構造函數中使用它

[英]Creating an Object and Using it in a Constructor

假設我們有一堂課叫做Maze 現在假設我們還有另一個名為MazeSolver類。 因此,為了使用Maze中的方法在MazeSolver創建Maze對象,我們創建了private Maze maze 然后在MazeSolver的構造函數中,我們還編寫了public MazeSolver(Maze maze) 我的問題是,為什么我們必須同時做這兩項? 這個想法背后的哲學是什么? 我們為什么不能做一個或兩個都不做,我猜我很困惑。

那么,存在迷宮參考存儲的字段/變量:

private Maze maze;

並有一個傳遞迷宮引用並進行設置的構造函數

public MazeSolver(Maze maze) { this.maze = maze; }

除此之外,您需要提出一個更具體的問題。

在這里,您有兩個選擇,第一個是可以像這樣使用

public MazeSolver(Maze maze) { 
this.maze = maze; 
}

第二個選擇是

public MazeSolver() { 
maze = new maza();; 
}

實際上,您的要求是您需要使用maza行為,因此在這種情況下,您需要一個maza類的實例(如果這些方法是非靜態的)。 這就是為什么您需要初始化或將對象分配給maza的原因

我希望這可以幫助您了解您的要求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM