2012-10-01 63 views
-3

我的意思是,例如一類海峽內聲明的變量,如果我聲明一個類裏面一個int我是這樣的:爲什麼我不能訪問從類

class NewClass 
{ 
int i; 

} 

我不能訪問它從類是這樣的:

class NewClass 
{ 

int i; 
i=5; //gives me an error 
} 

我試圖使「我」靜態變量,但它也沒有幫助(NewClass.i = 5也給了我一個錯誤)。

而且我遇到的另一個問題是這樣的:

class NewClass 
{ 
Board NewBoard2 = new Board(); 
public NewClass (Board NewBoard) 
{ 
NewBoard2=NewBoard 
}enter code here 
//here I can't access nor NewBoard or NewBoard2 
} 

我沒有在相當長的時間編寫代碼,所以這就是爲什麼我有幫助所有那些愚蠢questions..thanks

+5

看起來像你試圖把代碼_outside_一種方法。你所有的代碼(除了字段/屬性/方法聲明)必須放在方法,屬性獲取/設置實現或構造函數的範圍內。 (我確信還有其他一些情況,但主要是這些情況) –

+1

「我很長一段時間沒有寫代碼,所以我就有這些愚蠢的問題。」熱鬧!難道你不應該從閱讀東西開始?就是想... –

回答

2

你不能將語句(除了具有賦值的聲明和聲明之外)直接放在類定義中。代碼需要在一個方法中(或ctor,dtor,靜態初始化塊)。

1

你不能做到這一點:

class NewClass 
{ 
int i; 
i=5; //gives me an error 
} 

你需要在類中的方法爲您的代碼如:

class NewClass 
{ 
int i; 
public void set_i() 
{ 
    i=5; 
} 
} 

所以在你是更大的班級在這裏:

class NewClass 
{ 
Board NewBoard2 = new Board(); 
public NewClass (Board NewBoard) 
{ 
NewBoard2=NewBoard 
}enter code here 
//here I can't access nor NewBoard or NewBoard2 
} 

這不會工作,但

class NewClass 
{ 
Board NewBoard2 = new Board(); 
public NewClass (Board NewBoard) 
{ 
NewBoard2=NewBoard; 
// You can use NewBoard, or NewBoard2 here. 
} 

public void dostuff() 
{ 
//You can use NewBoard2 here... 
} 
} 
相關問題