1. 程式人生 > >java 小知識集錦

java 小知識集錦

建立物件:new   例: Test t=new Test();

機數:random

布林值:boolean 返回值型別為true 或false 

例:Integer a=new Integer(12);

Integer b=new Integer(12);

System.out.println(a==b);//返回布林值

equals() :引用比較

例:System.out.println(a.equals(b)); //返回布林值

導包:import java.util.Scanner; import java.util.*;

 java註釋:
//單行註釋
/*
多行註釋
*/
/**
文件註釋
*/

識別符號的命名規範:
字母、數字、下劃線"_"  "$"
不能為數字開頭,只能以字母、_、$開始
特殊符號  $  _
嚴格區分大小寫
不要與關鍵字衝突
駝峰法
類名:首字母大寫
------------------------------------------------------------
變數:變數是記憶體(堆疊)中的一塊儲存區域,是儲存資料的基本單元;
 如何宣告變數:
    資料型別  變數名;
  如何賦值:
     變數名  = 值;

   宣告變數並賦值
   資料型別  變數名  =值;
------------------------------------------------------------


\t :表示製表符,即顯示一個空格

類:具有相同特點和行為的一組事物的集合
物件:具有具體的特點和行為的事物
   物件就是類的具體表現形式
類是物件的模板

------------------------------------------------------------

oop

構造方法:
  例項化物件
  new 
  有虛擬機器自動呼叫的,所以一般public 
  訪問許可權   類名(){
  
  }
類名  物件名  = new 構造方法();
類中預設自帶一個無引數的構造方法 
一旦類中定義了帶引數的構造方法,那麼無引數的構造方法消失。要使用必須顯示錶示
最佳實踐:
  一個帶所有引數的構造方法和不帶引數的構造方法 
this:當前物件本身
------------------------------------------------------------

 
過載:
  
   引數的個數不同
    型別不同
型別的順序不同
方法名相同
作用於同一作用域
static:
 
 修飾變數--》靜態變數  --》歸屬類   類名.變數名
   
修飾方法  --》靜態方法             類名.方法名相同


    static{  
//類定義載入的時候被執行,且在例項化之前

}

{  //程式碼塊,每次在例項化物件之前被呼叫

}

package:  com.yc.XX;    包名小寫   程式碼的第一行位置
   import   com.yc.xx.Test; 
 ------------------------------------------------------------
 
繼承:
繼承是利用現有的類建立新類的過程,
現有的類稱作基類(或父類),
建立的新類稱作派生類(子類)。
繼承語法:
    extends
訪問許可權  class  子類名  extends  父類名{
//子類繼承父類中非私有的屬性和方法
//子類可以擁有自己特有的方法和屬性
//子類可以重寫父類中的方法 

    //子類物件訪問父類中的方法,如果該方法被子類重寫,那麼子類物件訪問的是重寫之後的方法

}

 ------------------------------------------------------------ 

Java:只允許單繼承 


super:
   1.表示父類物件本身
    2.作為父類的構造方法存在
super(引數列表);

訪問許可權:
public :公共的,不受限制,本類或他類都可以訪問
protected:受保護的 ,包內友好,父子友好 
預設的:沒有任何許可權修飾符    int id ;  包內友好  
private:本類中訪問 

public: 所有類
protected:包內友好   父子友好
預設的 :包內友好
private :本類訪問

final: 最終的
修飾的變數就是常量
修飾類:  最終類  不能被繼承
修飾方法: 最終的方法  不可以重寫

 引用轉型:
  父類引用指向子類物件
  BasicClass  c  =  new SonClass();

------------------------------------------------------------ 
多型:便於擴充套件
使用父類的引用,呼叫同一個名稱的方法,可以得到不同的
呼叫結果,這就是java中的多型。即:同一函式,多種形態
多型包括:
動態多型(重寫):執行時多型,在執行時才確定呼叫哪個方法
必須要有繼承的存在
子類必須重寫父類中的該方法
必須由父類的引用指向子類的物件,並且是通過父類的引用呼叫被重寫的方法

靜態多型(過載):編譯多型,在編譯時決定呼叫哪個方法
  只要構成了過載,形成了靜態多型的條件
  靜態多型與是否發生繼承沒有必然聯絡
  
new誰呼叫誰只針對於方法,對於屬性而言,引用名是誰就調誰的屬性
  
在某些情況下,父類中無法(或沒有必要)提供被覆蓋方法的具體實現,
那麼可以將此方法宣告為抽象方法
使用關鍵字 abstract 
[訪問許可權]  abstract  返回值型別 方法名(形參列表);
抽象類:如果某個類中包含有抽象方法,那麼該類必須定義為抽象類
[訪問許可權] abstract class  類名{

}
注意事項:
抽象類不可以直接例項化,只可以用來繼承
抽象類的派生子類應該提供對其所有抽象方法的具體實現
如果抽象類的派生子類沒有實現其中所有的抽象方法,那麼該派生子類仍然是一個抽象類,

只能繼承,不能例項化
抽象類中可以包含非抽象的方法,
構造方法和靜態方法不可以修飾為 abstract

在某個類中所有的方法都是抽象方法時,可以考慮將該類定義為介面


interface :

 [訪問許可權] interface 介面名{
//成員列表
}
實現介面:
 與抽象類相似,不可以例項化,只能用於實現
 實現介面的關鍵字:implements 
 [訪問許可權]  class  實現類名  implements 介面名{
//成員列表
 }

 ------------------------------------------------------------