一、可變引數
可變引數顧名思義就是,撰寫一個函式的時候,可以傳入一個或者多個引數 實際原理:根據傳入的引數型別以及個數,創建一個陣列,用于存盤這些資料,在函式中呼叫的時候,也可以使用陣列的形式呼叫,下面我們舉個例子
package com.newJava;
public class D152_VariableParameters {
public static void main(String[] args) {
System.out.println("列印出了");
printString();
printString("jsidofs"," josdfjs");
}
public static void printString(String... strings) {
if (strings != null) {
int size = strings.length;
for (int i=0; i<size; i++) {
System.out.println(strings[i]);
}
} else {
System.out.println("空引數也是可以的");
}
System.out.println("空陣列");
}
}

從上面的實驗上來看,即使我們沒有傳入任何資料,函式依然會被呼叫,但是傳入的是一個空的陣列,但不是一個null 一些規則:盡量不使用這種寫法,如果要使用的話,需要把可變引數放到引數串列的最后面,不能放到中間或者前面,在進行多載函式的撰寫完之后,呼叫的時候要明確傳入引數的型別,不要引起混淆,比如
package com.newJava;
public class D152_2_ConfuseMethodAndInvoke {
public static void print(String... a) {
System.out.println(a[0]);
}
public static void print(int... b) {
System.out.println(b[1]);
}
public static void main(String[] args) {
try {
print(null);
} catch (Exception e) {
e.printStackTrace();
} finally {
print("jdisf", "jdisfod");
}
}
}
這樣多載函式會引起編譯器的混亂,不知道該如何多載函式,
二、多執行緒狀態圖

三、原始碼:
github路徑:https://github.com/ruigege66/Java/blob/master/newJava/src/com/newJava/ CSDN:https://blog.csdn.net/weixin_44630050 博客園:https://www.cnblogs.com/ruigege0000/ 歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流 
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/387695.html
標籤:Java
