Java基礎語法-方法的定義、調用以及static關鍵字的使用


方法的定義:

         類的方法一般表示類的行為或某種功能。

         方法定義的格式:

                 修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {

                                      方法體語句;

                                      return 返回值;

                                 }

          方法的格式說明

                 修飾符:目前就用 public static。后面我們再詳細的講解其他的修飾符。

                 返回值類型:就是功能結果的數據類型。

                 方法名:符合命名規則即可。方便我們的調用。

                 參數:

                        實際參數:就是實際參與運算的。

                        形式參數;就是方法定義上的,用於接收實際參數的。

                        參數類型:就是參數的數據類型

                         參數名:就是變量名

                 方法體語句:就是完成功能的代碼。

                 return:結束方法的。

                 返回值:就是功能的結果,由return帶給調用者。

   方法的調用:在main函數中調用方法,讓方法執行起來

   方法的形參:方法要什么參數我們就給什么類型的參數

   方法的返回值:方法返回什么類型的值我們就用對應的數據類型的變量來接收。

   調用方法的執行流程:a: 方法的定義是沒有順序的,寫在main函數的上邊或者下邊都可以。

                                       b: 方法的執行,是把實參傳遞給形參,從而來執行的。

                                       c: 方法只有被調用才會執行。

方法的重載:

            在同一個類中,方法名相同,參數列表不同。與返回值類型無關。

            參數列表不同:

                     1、參數個數不同

                     2、參數類型不同

                     3、參數的順序不同(算重載,但是在開發中不用)

      例:public static int getSum(int a,int b){

                     System.out.println("兩個int參數");

                     return a+b;

              }

              public static int getSum(int a,int b,int c){

                     System.out.println("三個int參數");

                     return a+b+c;

              }

              public static double getSum(double a,double b){

                     System.out.println("兩個double參數");

                     return a+b;

              }

方法重載注意事項

1、參數列表必須不同

              2、重載和參數變量名無關

              3、重載和返回值類型無關

              4、重載和修飾符無關

static關鍵字:

static關鍵字一般修飾成員變量,成員方法或者編寫static代碼塊優化程序性能;

靜態變量:

static修飾成員變量時,該變量為靜態變量,靜態變量屬於整個類所有,而不是某個對象所有,即被類的所有對象所共享。靜態成員可以使用類名直接訪問,也可以使用對象名進行訪問。

靜態方法:

與靜態變量一樣,我們也可以使用 static 修飾方法,稱為靜態方法或類方法。其實之前我們一直寫的 main 方法就是靜態方法。靜態方法的使用如:

public class Hello{

   public static void print(){

       System.out.println(“你好”);

}

       public static void main(String[] args){

   //直接使用類名調用靜態方法

   Hello.print();

   //使用類對象名調用

   Hello demo=new Hello();

   demo.print();

}

}

static修飾的方法成為類的方法,使用時通過“類名.方法名”的方式就可以方便的使用了,相當於定義了一個全局的函數(只要導入該類所在的包即可)。所以,相應的,非靜態方法則還是要通過實例化對象,再通過“對象.方法名”的方式訪問了。

 

進一步,由於靜態方法可以直接通過類名調用,說明調用靜態方法的時候,是不存在對象的,所以,靜態方法中不能有this與super關鍵字!並且由於這個特性,在靜態方法中不能訪問類的非靜態成員變量和非靜態成員方法,因為非靜態成員方法/變量都是必須依賴具體的對象才能夠被調用,即使存在類實例化的對象,也不清楚具體調用哪一個對象的非靜態成員變量或者方法。

靜態方法只能訪問所屬類的靜態成員變量和成員方法。

但是反過來,非靜態方法是可以訪問靜態方法與靜態成員變量的。

靜態代碼塊:

static關鍵字還有一個比較關鍵的作用就是 用來形成靜態代碼塊以優化程序性能。static塊可以置於類中的任何地方,類中可以有多個static塊。在類初次被加載的時候,會按照static塊的順序來執行每個static塊,並且只會執行一次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM