1. 程式人生 > >java的靜態方法main()主函式

java的靜態方法main()主函式

靜態方法/main主方法/解決一個不是問題的問題(一個文字遊戲):java中靜態方法只能使用靜態變數,那為什main方法裡還有非靜態成員?

首先:main()方法只是包含它的類的一部分,他是不能直接訪問類的其他非靜態成員的,但他可以在自己的函式體內建立動態變數呀!

其次:a.靜態方法中可以建立動態變數和方法;

   b.物件屬於動態的;

   c.動態的可以呼叫靜態的;

  d.通過建立物件來實現呼叫動態引數和方法。

相關推薦

java靜態方法main()函式

靜態方法/main主方法/解決一個不是問題的問題(一個文字遊戲):java中靜態方法只能使用靜態變數,那為什main方法裡還有非靜態成員? 首先:main()方法只是包含它的類的一部分,他是不能直接訪問類的其他非靜態成員的,但他可以在自己的函式體內建立動態變數呀! 其次:

Java靜態方法 與 非靜態方法(實例方法)的區別

外部類 允許 靜態成員 靜態 成員 訪問 靜態成員變量 ava 實例方法 靜態方法與實例方法的異同   1.在外部類 調用靜態方法時,有兩種方式:(1)類名.靜態方法()(2)類的對象.靜態方法() ;也就是說調用靜態方法時可以不用創建對象。      調用實例

Java - 靜態方法不具有多態性

多態性 pub public 機制 根據 都是 print java args class A1 { public static void f() { System.out.println("A1.f()"); }}class A2 extends A1 { public

java靜態方法和實例方法的區別

區別 -s string chap 變量賦值 sta 方法 url cal 靜態方法(方法前冠以static)和實例方法(前面未冠以static)的區別 (視頻下載) (全部書籍) 調用靜態方法或說類方法時,可以使用類名做前綴,也可以使用某一個具體的對象名;通常使用

Android-NDK學習記錄4-C呼叫Java靜態方法修改靜態欄位

一. jni互動相關-方法簽名 方法簽名在jni的使用中經常都會用到,在java中會有過載,那麼定位到一個方法的方式:類+方法名稱+方法簽名,那麼我們先學習下簽名規則: 基本型別簽名: 咱們基本型別有各自的簽名,如下表 型別名

節省兩倍開發時間,Java靜態方法還可以這麼玩!

鏈式呼叫 首先需要提一下最近幾年在開發界大的鏈式呼叫,鏈式呼叫非常利於編寫,更利於閱讀,那麼,什麼是鏈式呼叫呢,為了掃盲,舉個例子。 栗子 示例程式碼如下,如果我們想建立一個Dialog,不依賴鏈式呼叫的話,將會產生如下程式碼:   上述程式碼共計372個字

Java靜態方法呼叫非靜態方法

靜態方法(static mehod)不能直接呼叫非靜態方法(non-static method),可以通過一個物件的引用傳入靜態方法中,再去呼叫該物件的非靜態方法。在主函式(static方法)中,經常建立某個類的例項,再利用其引用變數呼叫他的非靜態方法。 public cl

Java靜態方法,靜態變數,初始化順序

靜態方法的宣告和定義        定義一個靜態方法和定義一個例項方法,在形式上並沒有什麼區別,只是在宣告的頭部,需要加上一個關鍵字static。它的一般語法形式如下: [訪問許可權修飾符] static [返回值型別] 方法名([引數列表]){         語句序列 } 例如下面是一個靜態的方法: pu

java 靜態方法呼叫非靜態內部類報錯

Error: No enclosing instance of type *** is accessible. Must qualify the allocation with an enclosing instance of type *** (e.g. x.new A

Java 靜態方法在繼承時的表現

靜態方法在繼承時的情況 如果在父類定義了靜態方法,子類對父類進行繼承的時候,可以繼承靜態方法,但是在子類中表現為隱藏狀態。 靜態方法有兩種呼叫方式: 在使用 類名.靜態方法 呼叫的時候,直接呼叫

java靜態方法靜態屬性

靜態方法,靜態屬性,都是不需要建立例項物件就可以呼叫,而且是單例的,不管建立多少個物件,都是共享一個 靜態屬性。 靜態方法不可以呼叫非靜態的變數,只可以呼叫靜態的屬性。 靜態方法不可以呼叫非靜態的方法,只可以呼叫靜態的方法 靜態方法和static程式碼塊在

Java靜態方法的注意事項

靜態的使用注意事項:  1.靜態方法只能訪問靜態成員(包括成員變數和成員方法)  非靜態方法可以訪問靜態也可以訪問非靜態  2.靜態方法中不可以定義this,super關鍵字  因為 一個類中,一個static變數只會有一個記憶體空間,雖然有多個類例項,但這些類例項中的這個s

java靜態方法使用泛型

用法 import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.ut

Freemarker呼叫java靜態方法(也可以呼叫常量,列舉)

Java幫助類 public classFreemarkerUtils { /** * 獲取freemarker可使用的bean * @param clz 型別 * @return */ @Su

java靜態方法靜態初始化塊及靜態變數的宣告和初始化不能使用泛型的原因

最近學習到了Java中的泛型,對於靜態方法,靜態初始化塊及靜態變數的宣告和初始化不能使用泛型的原因做了一個彙總: 1。因為泛型是要在物件建立的時候才知道是什麼型別的,而物件建立的程式碼執行先後順序是static的部分,然後才是建構函式等等。所以在物件初始化之前static的

java靜態方法與成員方法及成員變數的區分

面向物件程式設計中,通常用類建立的物件的過程稱為例項化; 類是指描述一種事物的定義,是抽象的概念,是一類事物具有相同的特徵的集合,類是物件的模板; 例項是指:該種事物的具體的一個個

java--靜態方法

方法宣告與呼叫 1.方法宣告       [修飾符] 返回值型別 方法([引數列表])       {            

Spring MVC使用FreeMarker呼叫java靜態方法

Spring mvc配置檔案如下1.配置freemarker的檢視,如下 Java程式碼   <bean id="freemarkerResolver"           class="org.springframework.web.servlet.view.

深入java static關鍵字 淺析java類載入機制(解答java靜態方法或變數無法訪問非靜態資料)

想要清晰理解java語法,不瞭解java和jvm的機制是不行的,以前不理解java中用static修飾方法和變數為什麼不可以訪問非靜態方法和資料,現在明瞭,如果你也有相同的困惑,這篇部落格足以解惑,原創不易,轉載請宣告出處。 本文分為3大部分 static

關於java靜態方法裡只能呼叫靜態變數的思考

最近一段時間裡面寫了這樣一個類: public class DBManager { private static MySqliteHelper helper; public static MySqliteHelper getHelper(Context c