Java 小細節——方法基本型別引數的過載
閱讀2分鐘,掌握一個Java小細節,你值得擁有!
方法過載指的是方法名相同,引數列表不同(不同的引數型別或者引數順序或者引數個數)的情況。不過你真的瞭解麼?看看下面這個例子。
public class PrimitiveOverloading {
void f1(char x){
System.out.println("f1(char)");
}
void f1(byte x){
System.out.println("f1(byte)");
}
void f1(short x){
System.out .println("f1(short)");
}
void f1(int x){
System.out.println("f1(int)");
}
void f1(long x){
System.out.println("f1(long)");
}
void f1(float x){
System.out.println("f1(float)");
}
void f1(double x){
System.out.println("f1(double)");
}
public static void main(String[] args) {
PrimitiveOverloading over = new PrimitiveOverloading();
over.f1(5);
}
}
輸出結果是什麼?為什麼呢?讓我們實踐一下。
你會發現常數5被當做int值處理,所以如果某個過載方法接受int型引數,它會被呼叫。至於其他情況,如果傳入的資料型別(實際引數型別)小雨方法中宣告的形式引數型別,實際資料型別就會被提升。
如果沒有接受int的方法,就會考慮使用float方法->double方法。如果都沒有,就會編譯報錯。
相關推薦
Java 小細節——方法基本型別引數的過載
閱讀2分鐘,掌握一個Java小細節,你值得擁有! 方法過載指的是方法名相同,引數列表不同(不同的引數型別或者引數順序或者引數個數)的情況。不過你真的瞭解麼?看看下面這個例子。 public class PrimitiveOverloading {
Java方法的型別和過載
無參無返回值方法的使用 如果方法不包含引數,且沒有返回值,我們稱為無參無返回值的方法。 定義方法: 例如:下面程式碼定義了一個方法名為 show ,沒有引數,且沒有返回值的方法,執行的操作為輸出 “ welcome to imooc. ” 注意哦: 1、 方法體
JAVA呼叫儲存過程--返回結果集(傳入基本型別引數,返回基本型別和結果集)
1 建立儲存過程 create or replace procedure examplepro( inparm1 in varchar2,inparm2 in number,outparm1 out number,result out type_cursor) ...
Java泛型方法和型別萬用字元的區別
泛型方法VS型別萬用字元(兩者可以混用): 1)你會發現所有能用型別萬用字元(?)解決的問題都能用泛型方法解決,並且泛型方法可以解決的更好: 最典型的一個例子就是:
java基礎深入解析基本型別
一、基本型別的簡介 基本型別的兩條準則: Java中,如果對整數不指定型別,預設時int型別,對小數不指定型別,預設是double型別。 基本型別由小到大,可以自動轉換,但是由大到小,則需要強制型別轉換。所佔的位元組數: byte: 1個位元組; char: 2個位元組;
Java中有了基本型別為什麼還要有包裝型別?
Java中基本資料型別與包裝型別有: 基本型別 包裝器型別 boolean Boolean char Character int Integer byte Byte short Short long
Java小細節:List可以add(null)嗎?
在寫程式碼的時候,有時候遇到for迴圈,寫到下面的時候有一點猶豫。 List<Data> dataList = ...; for (Data d : dataList) { if (d != null) { // 我需要這個判斷嗎?
Java 小細節
private static String fmt="%s*%s=s*s"; //String str=i+"*"+j+"="+(i*j); 在Java中,%d,%s表示的意思是佔位符。%d是一個整型佔位符,%s也是一個佔位符,標識一個字串型的資料 %"表示進行格式化輸出,"%"之後的內容為格式的定義:
Java小細節——try/catch/finally/return不得不說的祕密
閱讀2分鐘,掌握一個Java小細節,你值得擁有! java面試經常能看到這道題目: try {} 裡有一個return語句,那麼緊跟在這個try後的finally {}裡的程式碼會不會被執行?什麼時候被執行?在return前還是後? t
Java 的8種基本型別和3種引用型別
1、計算機的記憶體單位 計算機中的資料都是以 0 和 1 來表示的,其中一個 0 或者一個 1 稱之為一位 (bit)。 8位稱為一個位元組 (Byte),兩個位元組稱為一個字 (Word) ,四個位元組稱為雙字 (Dword)。 1Byt
Java包裝類與基本型別進行比較的坑
今天使用Java的包裝類和基本型別做比較的時候發現了包裝本身存在的坑,參考的JDK版本是1.8.0_121,下面是例子程式碼: Short packShort=1; short baseShort=1; Integer packInt=1; int baseI
java中八種基本型別所佔位元組數
這是8中基本型別的記憶體中佔用位元組數(取值範圍是2的(位元組數X8-1)次方) 1.整型 型別 儲存需求 bit數 取值範圍 byte 1位元組
為什麼java中有了基本型別為什麼還要有包裝型別?
為什麼存在這兩種型別呢? 我們都知道在Java語言中,new一個物件儲存在堆裡,我們通過棧中的引用來使用這些物件;但是對於經常用到的一系列型別如int,如果我們用new將其儲存在堆裡就不是很有效——特別是簡單的小的變數。所以就出現了基本型別,同C++一樣,Java採用了相似
mybatis中傳入基本型別引數,傳入多個基本資料型別
mybatis3.2.6+spring4.0.2 關於傳入基本引數型別 以及多個基本型別引數的問題最近再練習框架,找到了一點心得分享出來,不對之處歡迎提出共勉1 引數型別string 一個引數方法:User getUserByName(String username);map
Java 的八種基本型別
開發十年,就只剩下這套架構體系了! >>>
java中,方法引數是基本型別和引用型別的區別
方法引數是基本型別時,傳遞的是值。 方法引數是引用型別時,傳遞的是記憶體地址值 當引數是基本型別時,在呼叫方法時將值傳遞到方法中,執行方法,執行結束方法退出,對原本main中定義的變數沒有任何操作(方法中沒有return)。即:此時只跟棧有關係,方法執行完之後(方法中沒有return),會彈棧。
java 使用省略號 代替多個相同型別的引數 過載方法 Varargs
發現很多牛人寫出來的工具類,都有 xxx(String... s){} 這樣的方法,簡單學了一下,下面是測試的程式碼,最簡單的例子: public class TestVarargs { public static void s(int[] vs) { System.out.p
java引數傳遞?基本型別:引用型別
java引數傳遞?基本型別:引用型別 java通過引數傳遞不能改變對應基本型別的值,通
JAVA基本資料型別、引用資料型別-引數傳遞詳解
1:基本型別的引數傳值 對於基本資料型別,修改這個值並不會影響作為引數傳進來的那個變數,因為你修改的是方法的區域性變數,是一個副本。實參的精度級別應等於或低於形參的精度級別,否則報錯。 class JB{ void f(int x, int y){ x=x+1;
Java 之路 (十五) -- 泛型上(泛型類、泛型方法、有界型別引數、泛型與繼承、型別推斷)
Thinking in Java 中關於泛型的講解篇幅實在過長,前後嘗試閱讀這一章,但總是覺得找不到要點,很迷。於是放棄 Thinking in Java 泛型一章的閱讀,轉而官方教程,本章可以算作官方教程的中文版。 1.為什麼使用泛型 簡單來說