static靜態的,是不變的,在java中static修飾成員屬性,方法時,表示該屬性/方法能夠被類名直接調用,如工具類等java
而this表明本類對象的引用,一般用與成員變量與局部變量重名時。sql
super表明子類對父類滿參構造函數的初始化,也是須要產生對象才能夠使用可是考慮到虛擬機加載順序爲先加載類,當被實例化才產生對象。因此若是並存則表示類和對象同時加載,顯然是不合邏輯的。數組
執行順序:父類靜態代碼塊>子類靜態代碼塊>main函數>構造代碼塊>構造方法函數
(注意:方法只能並列使用,不能嵌套使用!!!!!!!!!)工具
–--------------
|
public | protected | default | private |
同一類中 |
✔
|
✔
|
✔
|
✔
|
同一包中this (子類與無關類)spa |
✔
|
✔
|
✔
|
|
不一樣包的子類
|
✔
|
✔
|
||
不一樣包中的無
關類
|
✔
|
API ---> Application Interface 應用程序接口.net
java中的五大經常使用包: java.lang、 java.util、 java.io、 java.net、 java.sqlcode
equals
方法在非空對象引用上實現等價關係:x
, x.equals(x)
應該返回true
。x
和y
, x.equals(y)
應該返回true
當且僅當y.equals(x)
回報true
。x
, y
和z
,若是x.equals(y)
回報true
個y.equals(z)
回報true
,而後x.equals(z)
應該返回true
。x
和y
,屢次調用x.equals(y)
始終返回true
或始終返回false
,沒有設置中使用的信息equals
比較上的對象被修改。x
, x.equals(null)
應該返回false
。equals
類方法Object
實現對象上差異可能性最大的相等關係; 也就是說,對於任何非空的參考值x
和y
,當且僅當x
和y
引用相同的對象( x == y
具備值true
)時,該方法返回true
。hashCode
方法,以便維護hashCode
方法的通用合同,該方法規定相等的對象必須具備相等的哈希碼。toString
方法返回一個「textually表明」這個對象的字符串。 結果應該是一個簡明扼要的表達,容易讓人閱讀。 建議全部子類覆蓋此方法。 該toString
類方法Object
返回一個由其中的對象是一個實例,該符號字符`的類的名稱的字符串@
」對象
和對象的哈希碼的無符號的十六進制表示。
換句話說,這個方法返回一個等於下列值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
String
類表明字符串。 Java程序中的全部字符串文字(例如"abc"
)都被實現爲此類的實例。
字符串不變; 它們的值在建立後不能被更改。 字符串緩衝區支持可變字符串。
由於String對象是不可變的,它們能夠被共享。
練習代碼:
/* 本身建立一個類,寫一個靜態方法,傳入一個int數組,得 到一個字符串[元素1,元素2,….] */ public class HomeWork02 { public static void main(String[] args) { int[] arr = new int[]{1,55,66,99,88,74,22,44,32,22}; System.out.print("["); for (int i = 0;i<arr.length;i++){ if (i!=arr.length-1){ System.out.print(arr[i]+","); }else { System.out.print(arr[i]); } } System.out.println("]"); } }
public class HomeWork01 { public static void main(String[] args) { // 在控制檯輸入字符串,統計出大寫的字符的個數,小寫的字符個數,數字類型的字符個數,以及其餘字符的個數 Scanner sc = new Scanner(System.in); int big = 0; int small = 0; int num = 0; int other = 0; System.out.println("請輸入一串字符串"); String str = sc.next(); for (int i = 0; i < str.length(); i++) { if (str.charAt(i) >= 65 && str.charAt(i) <= 90) { big++; } else if (str.charAt(i) >= 97 && str.charAt(i) <= 122) { small++; } else if (str.charAt(i) >= 48 && str.charAt(i) <= 57) { num++; } else { other++; } } System.out.println("大寫字母有:" + big + "個"); System.out.println("小寫字母有:" + small + "個"); System.out.println("數字有:" + num + "個"); System.out.println("其餘字符有:" + other + "個"); } }