1. 程式人生 > >JAVA程式設計基礎內容回顧

JAVA程式設計基礎內容回顧

JAVA程式設計基礎回顧

1.非訪問修飾符:

  • static修飾符,用來修飾類方法和類變數
    • 靜態變數,即類變數;區域性變數不能被宣告為靜態變數
    • 靜態方法:靜態變數必須用靜態方法來訪問
public class InstanceCounter{
private static int numInstance=0;
protected static int getCount(){
    return numInstance;
}
private static void addInstance(){
    numInstance++;
}
public
void InstanceCounter(){ InstanceCounter.addInstance(); } public void static main(String []args){ for (int i=0;i<500;++i){ new InstanceCounterS();} } }
  • final修飾符,用來修飾類、方法和變數,修飾的類不能被繼承,修飾的方法不能被繼承類重新定義、修飾的變數為常量不能被修改
    • final變數能被顯式的初始化切只能被顯式的初始化一次。final物件的引用不可以改變,但裡面的值可以改變
public final score{
final int score=0;
public void changeScore(int a){
    score=a;//這裡將會報錯
}
}
 - final方法的價值在於防止該方法的內容被修改
 - final類:不能被繼承,沒有類能夠繼承final類的任何特性,缺乏實際使用價值
public final class Test{//類體}
  • abstract修飾符,用來建立抽象類和抽象方法:
    • 抽象類不能用來例項化物件
    • 抽象類的目的式便於將來對類的擴充
    • 抽象類可以包含非抽象方法和抽象方法(沒有給出具體實現的方法)
      1.抽象方法是一種沒有給出具體實現的方法,具體實現由子類提供
      2.抽象方法不能被宣告成final和static
      3.任何繼承抽象類的子類都必須實現父類的所有抽象方法,除非子類也是抽象類。
      4.包含抽象方法的類必須宣告為抽象類。抽象類不一定包含抽象方法。
public abstract class Superclass
  • synchronized和volatile修飾符,主要用於執行緒的程式設計
    • synchronized關鍵字宣告的方法同一時間只能被一個執行緒訪問,synchronized可用於static,final,abstract,synchronized四個訪問修飾符
public synchronized void showDetail(){
//函式體
}
  -transient修飾符 序列化的物件包含背transient修飾的例項變數時,java虛擬機器跳過該特定的變數,用來處理類和變數的資料型別
public transient int limit=55;//不會持久化
public int b;//持久化
  • volatile 修飾符
    • volatile修飾的成員變數每次被執行緒訪問時,強制從記憶體變數中讀取該成員變數的值,當變數的值發生變化時,會強制執行緒將變數值會寫到共享記憶體,因此不論在任何時刻,兩個執行緒總是看到成員變數的同一個值。volatile物件引用可能是null。
    • 說白了就是兩個執行緒均能實時完成對同一個成員變數的修改。