轉載至:http://www.runoob.com/java/java-variable-types.html html
對菜鳥教程進行核心整理:java
Java做爲一種面嚮對象語言主要特性概念以下數組
接口:接口可理解爲對象間相互通訊的協議。接口在繼承中扮演着很重要的角色。(可多繼承)接口只定義派生要用到的方法,可是方法的具體實現徹底取決於派生類。ide
一、多態:前提是繼承,不一樣類對同一消息做出響應。解決應用程序重名問題,參數化多態和包含多態。函數
二、繼承:增長類的可重用性,一個類能夠由其餘類派生。若是你要建立一個類,並且已經存在一個類具備你所須要的屬性或方法,那麼你能夠將新建立的類繼承該類。
利用繼承的方法,能夠重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱爲超類(super class),派生類稱爲子類(subclass)。spa
三、封裝:把過程和數據包圍保護(private),經過受保護接口訪問其它對象線程
四、抽象:忽略主題無關,更加注意主旨,拋棄細節,有過程抽象(函數),數據抽象(數據類型)指針
五、類:類是一個模板,它描述一類對象的行爲和狀態。code
六、對象:對象是類的一個實例,有狀態和行爲。例如,一條狗是一個對象,它的狀態有:顏色、名字、品種;行爲有:搖尾巴、叫、吃等。htm
七、實例:每一個對象都有獨特的實例變量,對象的狀態由這些實例變量的值決定
八、方法:方法就是行爲,一個類能夠有不少方法。邏輯運算、數據修改以及全部動做都是在方法中完成的。
九、重載:同一類中有倆個以上相同的方法名,但參數不一樣,方法不一樣。
須要注意的地方:(JAVA關鍵字也不能在類名或者方法使用。)
一、見名釋義
二、不跟關鍵字和保留字衝突
三、駝峯原則,類名和接口名首字母大寫(大駝峯規則) 常量名大寫下劃線分開 變量名,方法名(小駝峯規則)首字母小寫,第二個單詞大寫
訪問控制修飾符 :
private : 在同一類內可見。使用對象:變量、方法。 注意:不能修飾類(外部類)同類
default (即缺省,什麼也不寫): 在同一包內可見,不使用任何修飾符。使用對象:類、接口、變量、方法。同類,同包
protected : 對同一包內的類和全部子類可見。使用對象:變量、方法。 注意:不能修飾類(外部類)。同類,同包,子類
public : 對全部類可見。使用對象:類、接口、變量、方法。同類,同包,子類,全部包
非訪問控制修飾符 : static,1.靜態變量2.靜態方法
final,1.final變量:變量一旦賦值後,不能被從新賦值。final 修飾符一般和 static 修飾符一塊兒使用來建立類常量。
2.final方法:final 方法能夠被子類繼承,可是不能被子類修改。3.final類不能被繼承。
abstract,1,抽象類:對該類擴充,抽象類能夠包含抽象方法和非抽象方法。2,抽象方法:具體實現由子類提供
synchronizeds關鍵字聲明的方法同一時間只能被一個線程訪問。synchronized 修飾符能夠應用於四個訪問修飾符。(volatile 修飾:兩個不一樣的線程老是看到某個成員變量的同一個值。)
數組是儲存在堆上的對象,能夠保存多個同類型變量。在後面的章節中,咱們將會學到如何聲明、構造以及初始化一個數組。
枚舉限制變量只能是預先設定好的值。使用枚舉能夠減小代碼中的bug。
註釋: // 這是單行註釋的示例 /* 這個也是單行註釋的示例 */
/* 這是第一個Java程序
這是一個多行註釋的示例 */
重寫是子方法覆蓋父類方法、要求方法名和參數相同;(前提是繼承)
重載是同一類中有倆個以上相同的方法名,但參數不一樣,方法不一樣。
構造函數是重載的一種,最大的做用是建立對象完成初始化。每一個類都有構造方法。若是沒有顯式地爲類定義構造方法,Java編譯器將會爲該類提供一個默認構造方法。在建立一個對象的時候,至少要調用一個構造方法。構造方法的名稱必須與類同名,一個類能夠有多個構造方法。
Puppy myPuppy = new Puppy( "tommy" );/* 實例化對象 */ ObjectReference = new Constructor();
/* 訪問類中的變量 */ ObjectReference.variableName; /* 訪問類中的方法 */ ObjectReference.methodName();
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。
一、byte
二、short
三、int
四、long
五、float
六、double
七、boolean
八、char
相應的封裝方法
System.out.println("基本類型:byte 二進制位數:" + Byte.SIZE);
System.out.println("包裝類:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
在Java中,引用類型的變量很是相似於C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定爲一個特定的類型,好比 Employee、Puppy 等。變量一旦聲明後,類型就不能被改變了。
對象、數組都是引用數據類型。
全部引用類型的默認值都是null。
一個引用變量能夠用來引用任何與之兼容的類型。
常量在程序運行時是不能被修改的。
在 Java 中使用 final 關鍵字來修飾常量,聲明方式和變量相似:
final double PI = 3.1415927;
整型、實型(常量)、字符型數據能夠混合運算。運算中,不一樣類型的數據先轉化爲同一類型,而後進行運算。
byte,short,char—> int —> long—> float —> double
轉換的規則:
1. 不能對boolean類型進行類型轉換。
2. 不能把對象類型轉換成不相關類的對象。
3. 在把容量大的類型轉換爲容量小的類型時必須使用強制類型轉換。
4. 轉換過程當中可能致使溢出或損失精度
5. 浮點數到整數的轉換是經過捨棄小數獲得
強轉可能丟失精度:
int強轉成float,long強轉成float,long強轉成double可能出現精度損失。