Java基礎(四)

來源:互聯網
上載者:User

標籤:font   array   length   param   成員變數   串連符   函數   注意   逗號   

一、方法1、方法的定義

  方法也叫函數,就是一個能獨立完成某個功能的一段代碼。方法可以看作一個整體。

文法:

修飾符  傳回型別 方法名字(資料類型  變數名,資料類型 變數名,……[形式參數(0個到n個)]){    在方法的代碼塊地區返回結果值的文法: return  返回和方法傳回型別相同的值;}

注意:

1、方法的傳回型別和方法名稱必須定義。

2、在一個類中不能同時存在相同名稱和參數類型個數一樣的方法。(參數順序可以不一樣)

3、方法的名字的第一個單詞應以小寫字母作為開頭,後面的單詞則用大寫字母開頭寫,不使用串連符。例如 addTicket();

優點:使程式變得更簡短清晰。有利於維護。提高開發的效率。提高了代碼的重用性

2、修飾符

  修飾符用來定義類、方法或者變數,通常放在語句的最前端。

1、存取修飾詞 (4種)

private (私人化,範圍最小): 在同一類內可見。使用對象:變數、方法。 注意:不能修飾類(外部類)。

default (即預設,什麼也不寫,預設的): 在同一包內可見,不使用任何修飾符。使用對象:類、介面、變數、方法。

protected (繼承相關): 對同一包內的類和所有子類可見。使用對象:變數、方法。 注意:不能修飾類(外部類)

public (公用的,範圍最大): 對所有類可見。使用對象:類、介面、變數、方法。

2、非存取修飾詞

static 修飾符,用來修飾類方法和類變數。

  • static 變數

  static 靜態變數,無論一個類執行個體化多少對象,它的靜態變數只有一份拷貝。常和 final 結合一起來聲明常量

  • static 方法

  static 聲明獨立於對象的靜態方法。靜態方法不能使用類的非靜態變數

final 修飾符,用來修飾類、方法和變數,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變數為常量,是不可修改的。

  • final 變數

  注意:變數能被顯式地初始化並且只能初始化一次。被聲明為 final 的對象的引用不能指向不同的對象。但是 final 對象裡的資料可以被改變。也就是說 final 對象的引用不能改變,但是裡面的值可以改變。

  • final 方法

  類中的 final 方法可以被子類繼承,但是不能被子類修改。聲明 final 方法的主要目的是防止該方法的內容被修改

  • final 類

  final 類不能被繼承,沒有類能夠繼承 final 類的任何特性。

abstract 修飾符,用來建立抽象類別和抽象方法。

  • abstract 抽象類別

  抽象類別不能用來執行個體化對象,聲明抽象類別的唯一目的是為了將來對該類進行擴充。一個類不能同時被 abstract 和 final 修飾。如果一個類包含抽象方法,那麼該類一定要聲明為抽象類別,否則將出現編譯錯誤。

  • abstract 抽象方法

  抽象方法是一種沒有任何實現的方法,該方法的的具體實現由子類提供。抽象方法不能被聲明成 final 和 static。任何繼承抽象類別的子類必須實現父類的所有抽象方法,除非該子類也是抽象類別。

synchronizedvolatile 修飾符,主要用於線程的編程。

  • synchronized 關鍵字聲明的方法同一時間只能被一個線程訪問。synchronized 修飾符可以應用於四個存取修飾詞。
  • volatile 修飾的成員變數在每次被線程訪問時,都強制從共用記憶體中重新讀取該成員變數的值。當成員變數發生變化時,會強制線程將變化值回寫到共用記憶體。這樣在任何時刻,兩個不同的線程總是看到某個成員變數的同一個值。
2、方法的調用

   Java 支援兩種調用方法的方式,根據方法是否傳回值來選擇。

  1、當方法返回一個值的時候,方法調用通常被當做一個值。

 1 public class Test1 { 2     public static void main(String[] args) { 3         int sum = add(6, 6); 4         System.out.println(sum); 5     } 6  7     public static int add(int a, int b){ 8         int sum = a + b; 9         return sum;10     }11 }

  2、如果方法傳回值是void,方法調用一定是一條語句。

1 System.out.println("move on");
3、方法的重載(overload)

   方法重載:是指在一個類中定義多個同名的方法,但要求每個方法具有不同的參數列表(類型、個數、順序)參數類型、參數個數,參數順序、只要有一個不同。

  如果一個類中存在了多個名字一樣的方法而編譯不報錯,那麼肯定就是重載

 

 1 public class Overload { 2     /** 3      * 方法的重載,參數個數不同 4      * @param a 5      * @param b 6      */ 7     public static void add(int a, int b){ 8  9     }10 11     public static void add(int a, int b, int c){12 13     }14 15     public static void add(int a, int b, int c,int d){16 17     }18 }
二、數組1、數組的定義

  java數組是用來儲存固定大小的同類型元素。相當於一個變數容器,存放多個資料

2、建立數組1、動態建立數組

  聲明後立即賦值建立,還可以 先聲明再賦值

文法格式:資料類型 [] 陣列變數名 = new 資料類型[數組長度];

 1 public class Test { 2     /** 3     * 動態建立數組 4     */ 5     @Test 6    public void testList(){ 7         int[] list = new int[2];  //建立數組 8         list[0] = 1;  //存放資料 9         list[1] = 2;10 11         System.out.println(list.length);12     }13 }
2、靜態建立數組

  在建立數組的時候把已知的元素直接一次性放進去

文法格式:

  • 資料類型  []  陣列變數名 = new 資料類型[] {多個以英文逗號分隔的資料};
  • 資料類型  [] 陣列變數名 = {多個以英文逗號分隔的資料};
 1 public class Test1 { 2     /** 3     * 靜態建立數組 4     */ 5     @Test 6     public void test1(){ 7         int[] list1 = new int[]{1, 2}; 8         int[] list2 = {3, 4, 5}; 9         System.out.println(list1.length);10         System.out.println(list2.length);11     }12 }
 3、多維陣列

  多維陣列可以看成是數組的數組,比如二維數組就是一個特殊的一維數組,其每一個元素都是一個一維數組。

 1 public class ArrayTest { 2  3     public static void main(String[] args) { 4         int[] a = {1, 2, 3}; 5         int[] b = {4, 5, 6}; 6         int[] c = {7, 8, 9}; 7  8         int[][] arr = {a, b, c}; //建立二位元組 9 10         //遍曆二維數組11         for (int i = 0; i < arr.length; i++) {12             int[] m = arr[i];13             for (int j = 0; j < m.length; j++) {14                 System.out.print(m[j] + " ");15             }16             System.out.println();17      /*輸出結果:1 2 318                 4 5 619                 7 8 9 */20         }21     }22 }

 

 

Java基礎(四)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.