Java的抽象類和內部類

2021-07-08 12:43:37 字數 1408 閱讀 1116

關鍵字為abstract

例如:

abstract class fruit

public abstract void harvest();//抽象方法,沒有定義方法的實現

}

抽象方法

不能使用private或static關鍵字進行修飾

內部類定義:在乙個類中再定義乙個類,可分為成員內部類、區域性內部類、匿名內部類。

在乙個類中使用內部類可以在內部類中直接訪問其所在類的私有成員變數和成員方法,儘管這些類成員被private修飾。

內部類的物件例項化操作必須在外部類或外部類中的非靜態方法中實現。

例如:

public class outerclass 

class innerclass

void fun()

int y = 0;

}public innerclass doit()

public static void main(string args)

}

外部類和內部類有同名成員變數時,可以用this區分。

在類的方法中定義的內部類,作用範圍也是在這個方法體內。但該內部類可以訪問當前**塊的常量以及此外部類的所有成員。

例如:

public class selloutclass 

public void sell(int price)

public void price() }}

public static void main(string args)

}

return new a() ;  ----需要加分號

例如:

public class outstring 

};system.out.println("char: " + s.blankchar());

}}

用static修飾的內部類。乙個靜態內部類中可以宣告static成員。但是在非靜態內部類中不可以宣告靜態成員。靜態內部類不可以使用外部類的非靜態成員。

public class outputclass extends classa.classb 

}class classa

}

功能:

1、在執行時判斷任意乙個物件所屬的類

2、在執行時構造任意乙個類的物件

3、在執行時判斷任意乙個類所具有的成員變數和方法

4、在執行時呼叫任意乙個物件的方法

5、生成動態**

java內部類與抽象類

內部類物件儲存了乙個對外部類物件的引用。outerclassname.this代表外部類物件的引用 innerclassname.this代表內部類物件的引用 class outer 在外部類中建立內部類物件 void funcouter class inner void funcinner 訪問內...

內部類,抽象類和介面

abstract普通類繼承抽象類要把抽象類中的所有抽象方法都覆蓋,抽象類繼承抽象類不用。抽象類不能被建立物件。普通類不能有抽象方法,抽象類可以有普通方法。建立了抽象父類的物件new後面是子類物件是可以實現的。implements用來繼承介面,inte ce介面中不存在具體的方法,介面中只存在抽象方法...

抽象類 介面和內部類

1.1 使用抽象類 1.1.1.抽象方法和抽象類 由abstract修飾的方法為抽象方法,抽象方法即只有方法的定義,沒有方法體實現,用乙個分號結尾。即方法五要素中,抽象方法缺少了乙個要素 即 方法體 也可以將抽象方法理解為不完整的方法。若將抽象方法包含在類中,則該類也應該為抽象的,可以理解為,該類也...