抽象クラスとは何も書かれていないメソッド(抽象メソッド)が含まれるクラスのことである。抽象クラスでnewする(インスタンス化)ことは不可能である。抽象クラスをの使い方は、抽象クラスを継承したクラスを作り、未定義のすべてのメソッドに対し具体的な処理が存在するメソッドをオーバーライドして初めてnewできるようになる。このことを実装という。抽象クラスを使うことでメソッドの記述を強要でき、誤りの少ないプログラミングを実現できるメリットがある。

以下に抽象クラスの例を示す。

abstract class Shape{ //先頭にabstractが書かれたクラスは抽象クラスであることの目印

private int Width;

void setWidth(int w){

width = w;

}

abstract void draw(); //抽象メソッド

}