在《零基礎學C 》這本書中Main方法為什麼不能是public而應該是static呢? 10

2025-01-11 04:55:16 字數 3720 閱讀 9135

在《零基礎學c#》這本書中main方法為什麼不能是public而應該是static呢?

1樓:陽光的雷咩咩

我覺得是多寫了個不字。

這種書誤人子弟 建議看公認的經典書籍。

2樓:我零0七

static改成public是會報cs5001的錯誤的。

你說的應該是private改成public檢視msdn的main函式說明。

裡面說了。main is declared inside a class or struct. main must be static and it need not be public.

in the earlier example, it receives the default access of private.) the enclosing class or struct is not required to be static.

意思就是:main在類或結構中宣告。main必須是靜態的,並且不必是公共的。

所以是書中描述錯誤。

雖然這個msdn有中文版。

的。但是它的翻譯也有問題:

所以儘可能還是要看英文原版。

c#中main函式為什麼宣告為public static

3樓:網友

這個就是先有雞還是先有蛋的問題。

static---物件。

1. 靜態就是不需要例項化的,不需要連線物件的方法和變數。

2. 非靜態成員又稱例項成員,必須作用於例項。

在程式剛開始執行的時候,未建立任何例項,因此無法呼叫例項成員,包括非靜態的main方法。

為了能夠在程式的開始執行main方法,必須將其宣告為靜態。要是main也要例項化的話,那誰又來例項化main呢?

4樓:笨蛋老婆婆

據我瞭解,類的成員有靜態成員和例項成員,static修飾靜態成員,為這個類的所有例項所共享,不用static稱為例項成員,例項成員被類的例項所擁有。我也是剛開始學習,我從書上找的,不知道對不對啊。

為什麼 main 方法是 public static void

5樓:半邊人

main方法是程式開始執行的入口。

c#基礎 為什麼public static int main()是對的但是public static double main()是錯的?

6樓:網友

因為main方法沒有提供返回型別是double的方法。

main方法只有四種形式。

static void main(stringargs)static int main(stringargs)static void main()

static int main()

7樓:愛上鳥兒

main()函式是 c#程式的入口函式 乙個程式中只能(必須)有乙個 返回型別必須是int型。

有乙個main函式後 就不能在定義 函式名相同但是返回型別不同的函式了。

可以是main函式的重構。

8樓:匿名使用者

main()函式是 c#程式的入口函式 返回型別只有兩種:void或int型別。

在c#中什麼時候使用public 什麼時候使用static 來宣告方法?

9樓:網友

1樓是對的。你的追問中用main方法作為例子不具有普遍性。main方法是程式的入口,乙個c#程式只有乙個唯一的入口。

main方法在建立任何類或結構的例項前被呼叫,是駐留在類或結構內的靜態方法,因此它必須宣告為static。

static修飾的靜態成員通常用於表示不會隨物件狀態而變化的資料或計算。例如,數學類math包含許多靜態方法,計算三角函式、對數函式和其他通用數學函式。

10樓:網友

額,public和static木有可比性。public就是定義一種訪問規則,而static是public中的乙個關鍵字,就好象public是老大,老大手下有個叫static的小弟(我是這麼覺得的--)static修飾物件是靜態的。

錯誤: 在類 hello 中找不到 main 方法, 請將 main 方法定義為: public static void main(string[] args)

11樓:小學剛畢業

在class前面加個public就可以了,在每個類執行時都必須有個public類。編譯時先找到public類,再找main方法。沒有public類自然也找不到main方法了。

在類 student 中找不到 main 方法,將 main 方法定義為:public static void main(string[] args

12樓:

雖然我看不懂你想問什麼,但是看了你的**後我有幾點想說:

為什麼屬性都給出了get/set方法後,屬性的訪問修飾符不是private

根據你寫的sun()、testscore()等方法,當通過studeng的無參構造器例項化乙個物件去呼叫這幾個方法時,所有的屬性值都是其預設值,float型別對應的值 string型別對應的null;此時,試問你的這兩個方法有什麼作用嗎?

你要麼刪掉無參構造器,要麼把屬性當成方法的引數傳遞過來③對於你**裡面的this,我真的很想說一句,請不要濫用this,雖然這樣寫沒錯,但是讓人看著很彆扭。因為這個this是預設的,根本就不用你去寫出來。只有當編譯器識別不了時我們才用this去告訴編譯器,是「這個」而不是」那個「

強烈建議寫if語句時,後面加上{},增加程式的可讀性。

13樓:匿名使用者

在要執行的類中定義主函式。

public static void main(string args)

c#中宣告 靜態主函式是什麼意思? public static main()

14樓:網友

main()函式在c#裡非常特殊,它是編譯器規定的所有可執行程式的入口點。對main()函式我們有以下幾條準則:

1.所有。net應用程式,可執行檔案(cass library沒有這個要求)都必須必須擁有main函式,否則將產生乙個編譯錯誤。

函式必須是靜態的(static).

函式的訪問級別沒有特殊要求,public protected private都是可以的。

函式的引數形式只有兩種,無參或者只有乙個string引數,即static void main()或者static void main(string args).後者是用來接受命令列引數的。其它引數形式的main函式是不具有入口點語義的。

函式的返回值型別只能是void或者int.其它返回型別的main函式是不具由入口點語義的。

所以具有入口點語義的main函式只有以下四種:

a) static void main()

b) static void main(string args)

c) static int main()

d) static int main(string args)

具有入口點語義的main函式和不具有入口點語義的main函式事可以進行過載的。但是不推薦這麼做,並且在編譯的時候會發出乙個警告。而多個具有入口點語義的main函式是不能進行過載的。

零基礎怎樣學C語言,零基礎如何學習C語言?

先學c,c學好了,後面的都很簡單,如果你要問怎麼學c,就先把潭浩強c程式第三版的那本入門書全都看懂,裡面的程式全都在機子上操作一下,等你那本書搞得差不多了,再找些題目做做,如果你以後要題目的,我空間。學程式設計最主要的是要努力和堅持,我是大一新生,上學期就學了個c,但是隻要肯努力,四年後就是一條好漢...

零基礎怎麼學英語,零基礎怎麼學英語?

學習步驟 1 從音標學起,音標是英語的基礎,不會音標就算會讀也很難學好 2 讀熟音標之後,多讀單詞,積累詞彙量 3 要多讀課文,培養自己的語感,英語是一門語言,一定要多講 4 學語法就是學英語的說話習慣,否則說出中國式英語就鬧笑話。你好。我的建議是 書要具備兩點 1 有光碟或磁帶 2書上要帶有帶一些...

零基礎學IT,可以學會嗎,學it行業零基礎能學好嗎

其實零基礎學it入門並不難,難的是堅持。有部分學生剛開始學的還不錯,隨著知識的深入,感覺越來越難,就沒有堅持努力下去,結果半途而廢。還有同學以為報個培訓班,就可以高枕無憂了,上課不認真聽課,課下又不努力練習,結果只是學到皮毛,等就業的時候後悔不已。殊不知不管是高等院校還是培訓機構,老師教的是一種學習...