C 物件對於引用非靜態字段 方法或屬性是必需的

2021-09-01 00:11:05 字數 583 閱讀 5382

非靜態類的方法是不能直接呼叫的,需要例項化,但當有時需在各個地方去呼叫該方法時,逐個去例項化會顯得麻煩,可以採用乙個靜態類來封裝後使用。

用開關燈來舉個例子:

假設燈是乙個非靜態類,可開關,有狀態

class light

public void closelight()

}

然後我們封裝乙個靜態類去實現功能和獲取狀態

public class lighthelper

public void openlight()

public void closelight()

public string getlightstatus()

}

然後在別的地方就可以用以下**來呼叫了

lighthelper.action().openlight();

lighthelper.action().closelight();

string lightstatus = lighthelper.action().getlightstatus();

無法從型別靜態引用非靜態方法

package porjecttext02.service import projecttext02.bean.customer public class customerli 指定要新增的客戶物件 public boolean addcustomer customer customer 指定要替換...

C 靜態方法與非靜態方法

c 靜態方法與非靜態方法 c 的類中可以包含兩種方法 靜態方法和非靜態方法。使用了static 修飾符的方法為靜態方法,反之則是非靜態方法。靜態方法是一種特殊的成員方法,它不屬於類的某乙個具體的例項,而是屬於類本身。所以對靜態方法不需要首先建立乙個類的例項,而是採用類名.靜態方法的格式 1 stat...

C 靜態方法 非靜態方法呼叫總結

總結的c 靜態方法 非靜態方法的呼叫,有不正確的請指正 操作靜態方法 非靜態方法 同個類中呼叫 方法名 前面不用加類名或物件名 例項化類後呼叫 即new一次 不同類中呼叫 類名.方法名 例項化類後呼叫 即new一次 新建乙個測試用的類,演示靜態方法和非靜態方法在同個類中的呼叫 class testc...