簡介
Java是一種麵向對象的編程語言,它使用對象、類和多個關鍵字。其中之一就是“super”,顧名思義,它意味著用戶在子類和父類(超類)之間創建了一座橋梁。談到包裝類,這些類是專門設計來將java的基本數據類型轉換為對象的,反之亦然。
Java超級關鍵字
先決條件
關鍵字是java中具有特殊意義的保留字。java中有48個已知的關鍵字,其中之一是超級.在java超類和子類中有兩種類。派生自另一個類的類稱為子類或派生類。用於派生子類的類稱為父類或父類。
什麼是超級關鍵字?
當子類想要獲取超類成員時,在Java中使用super關鍵字。當創建基類的實例時,也會創建超類的實例,可通過super關鍵字引用。一個實例遵循以下語法:
<對象名稱>實例的<類名稱>
為什麼我們要使用super關鍵字?
以下是我們需要使用super關鍵字的一些情況:
1] Super關鍵字用作超類實例變量的引用。
例如以下代碼:-
類Rainbow{字符串顏色="Indigo";}類彩色擴展彩虹{字符串顏色="紅色";void printColor() {System.out.println(color);//打印彩色類System.out.println(super.color);//打印彩虹類的顏色}}類TestSuper1{公共靜態void main(String args[]){彩色d=新彩色();d.printColor ();}}
輸出:
紅色的
靛藍
您可能想知道在上麵的例子中發生了什麼。我把這個擦掉。在上麵的例子中,Rainbow和多彩的兩個類都有一個共同的特征顏色。如果我們打印color屬性,它將默認打印Rainbow類的顏色。為了打印colour類(基類),我們需要使用關鍵字super從Rainbow類(超類)訪問屬性。
2]在調用超類方法時也可以使用Super關鍵字
例如以下代碼:-
類Rainbow{void rain() {System.out.println("raining…");}}類Colorful擴展了Rainbow {void rain() {System.out. Rainbow。println("raining heavy…");}void sun(){係統。Println("明亮的太陽照耀…");}void work() {super.rain();//調用超類方法sun();}}類TestSuper{公共靜態void main(String args[]){彩色d=新的彩色();d.work ();}}
輸出:
下雨了……明亮的陽光照耀著…
在這個例子中,Rainbow和多彩的兩個類都有rain()方法,如果我們從多彩的類調用rain()方法,它將在默認情況下調用多彩的類的rain()方法,因為優先級被賦予了local。要調用超類方法,需要使用super關鍵字。隻有當方法被覆蓋時才使用super關鍵字。
3]超級關鍵字也可以調用超類構造函數
代碼如下:-
類Rainbow {Rainbow(){System.out. class}}類五顏六色擴展了Rainbow {Colorful() {super();//調用超類構造函數System.out。println(“顏色是驚人的”);}}類TestSuper{公共靜態void main(String args[]){彩色d=新的彩色();}}
輸出-
彩虹是迷人的顏色是驚人的
有時編譯器會隱式地將super()添加到代碼中。
Java中的包裝器類
先決條件
基本數據類型:這些是作為派生類型(引用類型)的基本類型的內建數據類型。例如byte, int, float, short, boolean等。
什麼是包裝類?
包裝器類將原語數據類型轉換為對象。一些包裝器類是Byte, Short, Integer, Long, Float, Double, Character和Boolean。原始數據類型本身由java類封裝。這樣的類稱為包裝器類或類型包裝器。它有助於創建這些類的對象,這些對象將類似於基本數據類型。這個概念也被稱為自動裝箱或者開箱,相反的是開箱。
表示包裝器類的一些原始數據類型。
原始數據類型 | 包裝器類 |
字節 | 字節 |
短 | 短 |
Int | 整數 |
長 | 長 |
浮動 | 浮動 |
雙 | 雙 |
字符 | 字符 |
布爾 | 布爾 |
我們可以使用某些方法來獲取與包裝器對象相關聯的值。他們是intValue(), byteValue(), shortValue(), longValue(), floatValue(), doubleValue(), charValue(), booleanValue()。
讓我們來看看下麵解釋這些轉換的代碼-
public class Main {public static void Main (String[] args) {Integer myInt = 6;myDouble = 7.58;字符myChar = 'Y';myBoolean = (9==8);System.out.println(敏);System.out.println (myDouble);System.out.println (myChar);System.out.println (myBoolean);}}
輸出:
6 7.58 Y假
我們也可以試試toString ()方法將包裝器對象轉換為字符串。
下麵是代碼-
public class Main {public static void Main (String[] args) {Integer myInt = 3456;String mySent = "sanandreas";String myString = myInt.toString();//這裏我們將整數轉換為字符串System.out.println(myString.length());// 3456 System.out.println(mySent.length())的打印長度;//打印sanandreas的長度
輸出:4 10
注意:. length ()函數(存儲字符串的長度)將在下麵的表中進行解釋。
一些預定義的功能的字符串類如下:
功能 | 使用 |
長度() | 計算字符串的長度並返回整數值。如字符串x =“蘋果”;Int l= x.length();System.out.println(l);Output: 5字符計數從1開始。 |
charAt () | 用於從指定位置提取字符。如字符串x =“蘋果”;int l = x.charAt (4);System.out.println(l);輸出:字符索引值從0開始。 |
equals () | 檢查兩個字符串是否完全相同,並返回一個布爾值。字符串a= " Apple ", b= " Apple ";布爾l = a.equals (b);System.out.println (l);輸出:假的 |
equalsIgnoreCase () | 檢查兩個字符串是否完全相同,忽略字符串的大小寫並返回一個布爾值true或false。字符串a= " Apple ", b= " Apple ";布爾l = a.equalsIgnoreCase (b);System.out.println (l);輸出:真的 |
使用valueOf方法將字符串對象轉換為數值對象:
將字符串轉換為整數- int x = integer . valueof (str);將字符串轉換為long- long x = long . valueof (str);將字符串轉換為float- float x = float . valueof (str);將字符串轉換為double- double x = double . valueof (str);
返回對象的值()-將字符串表示值轉換為任何基元數據類型。字符串x= " 12 ";int a = Integer.valueOf(x);雙= Double.valueOf (x);System.out.println(一個);System.out.println (b);輸出:12 12.0
使用解析方法將數值字符串轉換為基本數數據類型:
將字符串轉換為整數- int x = integer . parseint (str);將字符串轉換為長-長x =長。parseLong (str);字符串到浮動的轉換-浮動x =浮動。parseFloat (str);將字符串轉換為double- double x = double . parsedouble (str);
Str -在上述語句中,str是一個字符串變量,它要麼初始化一個數值,要麼從用戶那裏獲取一個輸入的數值。
示例- String str = " 123 ";
預定義字符包裝類的函數。
包裝器類 | 使用 |
toUpperCase () | 將作為參數傳遞的字符轉換為大寫字母。字符a = b;= Character.toUpperCase ();System.out.println (a),輸出:B |
toLowerCase () | 將作為參數傳遞的字符轉換為小寫字符。char = ' a ';= Character.toLowerCase ();System.out.println (a),輸出:一個 |
下麵的返回值為布爾值true或false -
isUpperCase () | 檢查傳入的參數是否是大寫字母,並返回值true或false。char =“x”;布爾b = Character.isUpperCase(一個);System.out.println (b),輸出:假的 |
isLowerCase () | 檢查傳入的參數是否是小寫字母並返回值true或false。char =“x”;布爾b = Character.isLowerCase(一個);System.out.println (b),輸出:真的 |
isDigit () | 檢查傳入的參數是否是數字字母並返回值true或false。int = 20;布爾b = Character.isDigit(一個);System.out.println (b),輸出:真的 |
isWhiteSpace () | 檢查傳入的參數是否為空格/空白,並返回值true或false。Char a = ' e ';boolean b = Character.isWhiteSpace(a);System.out.println (b),輸出:假的 |
IsLetterOrDigit () | 檢查傳遞的參數是字母還是數字,並返回值true或false。Int = 20;布爾b = Character.isLetterOrDigit(一個);System.out.println (b),輸出:真的 |
什麼時候使用包裝器類?
當我們處理數組列表這樣的對象集合時,就會用到它這些列表不存儲基本數據類型,隻存儲對象
語法如下:
myAlphabets = new ArrayList
下麵的代碼展示了如何使用這種語法-
進口java.util.ArrayList;public class Main {public static void Main (String[] args) {ArrayList myalphabet = new ArrayList();myAlphabets.add (' c ');myAlphabets.add (' d ');myAlphabets.add(“e”);myAlphabets.add (f);for (char i: myalphabet) {System.out.println(i);}}}
輸出:C d e f
結論
現在我們知道了super關鍵字,我們可以輕鬆地連接基類和超類,並提高代碼的效率。通過查看包裝類,您將深入了解這些包裝類有多有用,以及Java中有多少包裝類。這些不同的包裝器類使我們可以對代碼做更多的工作,並使從一種數據類型跳轉到另一種數據類型以獲得另一種數據類型的輸出變得容易。總的來說,' super '關鍵字和包裝器類都是Java的一個獨特特性,它使程序員能夠擴展他們的編碼知識。