java抽象

啊剛發表於2018-05-12

final

  • final的變數的值不能夠被改變
  • final的方法不能夠被重寫
  • final的類不能夠被繼承

Java中,我們無法讓物件被修飾為final,而只能修飾物件的引用,這意味著即使你寫public final A a = new A(); 事實上a指向的物件的資料依然可以被修改,不能修改的是a本身的引用值,即你不能再對a進行重賦值。

抽象

  • 用關鍵字abstract修飾的方法稱為抽象方法。

abstract class A //類A為抽象類 { …… }

不能直接被例項化,因此一般作為其它類的父類,定義目的是提供可由其子類共享的一般形式。

抽象類需要繼承,子類根據自身需要擴充套件抽象類

abstract class A { abstract int aa(int x,int y);//方法aa為抽象方法 }

抽象類中可以沒有抽象方法或某個方法不是抽象方法,有抽象方法的類一定是抽象類[抽象方法只能位於抽象類]。

abstract關鍵字來修飾一個類時,這個類叫做抽象類:用abstract來修飾一個方法時,該方法叫做抽象方法。

含有抽象方法的類必須被宣告為抽象類,抽象類必須被繼承,抽象方法必須被重寫。

抽象類不能被例項化。

抽象方法只需宣告,而不需實現。

【例】一個帶有抽象成員函式的類。

abstract class A //父類 {

abstract void callme( );

void me( ) {

System.out.println("在A的me成員函式裡"); } }

class B extends A //子類{

void callme( ) {

System.out.println("在B的callme成員函式裡"); } }

public class Abstract {

public static void main(String args[])

{ A a = new B( );//父類new子類

a.callme( );

  a.me ( );
複製程式碼

} }

 輸出結果:在B的callme成員函式裡;
          在A的me成員函式裡。
          
          
          
          
          
          
          
          
          
          
          
          5.12
複製程式碼

相關文章