Abstract class kullanarak nesne oluşturulamaz. Abstract class içinde en az bir tane abstract metod bulunması gerekir. Abstract class içinde abstract ve abstract  olmayan metod olabilir. Abstract class tanımlamışsak mutlaka türeyen classlarda abstract metod/lar override edilmelidir. Abstract sınıflarda abstract  metodun kodu yazılmaz alt sınıflarda yazılmalıdır. Abstract class constructor ve static metod içerebilir. Abstract class kullanarak nesne oluşturulamaz. Abstract class içinde en az bir tane abstract metod bulunması gerekir. Abstract class içinde abstract ve abstract  olmayan metod olabilir. Abstract class tanımlamışsak mutlaka türeyen classlarda abstract metod/lar override edilmelidir. Abstract sınıflarda abstract  metodun kodu yazılmaz alt sınıflarda yazılmalıdır. Abstract class final metod içerebilir.

public abstract class Sekil
{
	public Sekil()
	{
		
	};

        public abstract void Ciz();

	public static void Renklendir(String renk)
	{
		System.out.println("Şekil "+ renk + " e boyandı.");
	}
}

public class Daire extends Sekil
{
        @Override
        public void Ciz() {
        System.out.println("Daire çizildi.");
        }
}

public class Dikdortgen extends Sekil
{
         @Override
         public void Ciz() {
         System.out.println("Dikdörtgen çizildi.");
         }
}

public class Startup {

    public static void main(String[] args) {
       Sekil daire = new Daire();
       daire.Ciz();
       Sekil.Renklendir("Kırmızı"); // Static metoda erişildi.
       Sekil sekil = new Sekil(); // Hata Abstract class'tan new operatörü ile nesne oluşturulamaz.
    }
}