課程
/后端開發
/Java
/Java入門第二季 升級版
怎么回事呢?
2016-05-14
源自:Java入門第二季 升級版 8-9
正在回答
靜態方法是屬于整個類的、都可以調用使用它、方法也是如此、
qq_隨想之風_03202251 提問者
流逝的回憶已成空白 回復 qq_隨想之風_03202251 提問者
qq_隨想之風_03202251 提問者 回復 流逝的回憶已成空白
main方法和sum方法是同一個類的靜態方法,score1和score2是同一個類的靜態成員,在一個main靜態方法中調用sum靜態方法當然是可以的,但是sum卻不可以調用main,因為main是入口方法只能有Java虛擬機調用。
ava中,類不實例化是可以調用方法的,這種方法叫做靜態方法,也叫做類方法。類的靜態方法不屬于類的對象,而屬于類本身,在該類首次使用的時候加載到系統的方法區中,一般可以使用類名直接調用類的靜態方法,而不需要實例化對象。由于靜態方法并不屬于對象,因此在靜態方法中無法操作類的普通成員變量,只能操作類的靜態成員變量。(因為普通成員變量依附于類的對象存在,而類的靜態方法并不屬于類對象,在類對象被實例化之前靜態方法就已經存在,故在靜態方法中操作普通成員變量,相當于在無對象的情況下對其中的成員變量進行操作,這是無意義的,同時也不符合面向對象的思想。)至于靜態方法有什么用,上面已經提到在靜態方法中可以操作類的靜態屬性,而靜態屬性是類的屬性,可以作為一次程序運行期間的全局變量來使用,因此我認為靜態方法的主要作用就是對類中靜態屬性的初始化或者根據靜態屬性實現一定的業務邏輯
int allScore = sum();簡單來說是給allScore變量賦值,但是賦值的結果在sum方法當中,所以需要調用sum()方法
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答為什么不用寫類名也可以調用sum方法?
4 回答int allScore =sum();可以直接調用sum()方法,不用答案那樣HelloWorld.sun();
4 回答為什么 sum=score1+score2;return sum;這樣不可以
1 回答方法名可以和返回值變量名一樣嗎?
1 回答方法名可以隨意定義嗎
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-16
靜態方法是屬于整個類的、都可以調用使用它、方法也是如此、
2016-05-14
main方法和sum方法是同一個類的靜態方法,score1和score2是同一個類的靜態成員,在一個main靜態方法中調用sum靜態方法當然是可以的,但是sum卻不可以調用main,因為main是入口方法只能有Java虛擬機調用。
2016-05-14
ava中,類不實例化是可以調用方法的,這種方法叫做靜態方法,也叫做類方法。
類的靜態方法不屬于類的對象,而屬于類本身,在該類首次使用的時候加載到系統的方法區中,一般可以使用類名直接調用類的靜態方法,而不需要實例化對象。由于靜態方法并不屬于對象,因此在靜態方法中無法操作類的普通成員變量,只能操作類的靜態成員變量。(因為普通成員變量依附于類的對象存在,而類的靜態方法并不屬于類對象,在類對象被實例化之前靜態方法就已經存在,故在靜態方法中操作普通成員變量,相當于在無對象的情況下對其中的成員變量進行操作,這是無意義的,同時也不符合面向對象的思想。)
至于靜態方法有什么用,上面已經提到在靜態方法中可以操作類的靜態屬性,而靜態屬性是類的屬性,可以作為一次程序運行期間的全局變量來使用,因此我認為靜態方法的主要作用就是對類中靜態屬性的初始化或者根據靜態屬性實現一定的業務邏輯
2016-05-14
int allScore = sum();簡單來說是給allScore變量賦值,但是賦值的結果在sum方法當中,所以需要調用sum()方法