Java’daki somut sınıf, varsayılan sınıftır ve temel sınıfta henüz uygulanmayan tüm yöntemler için temel uygulamaları sağlayan türetilmiş bir sınıftır. Somut sınıfın tam tersi tüm yöntemleri için uygulamalar sağlamayan soyut sınıf.
Kullanıcılar soyut sınıfı temel sınıf olarak kullanılan sınıf olarak düşünebilir ve daha sonra somut sınıf, soyut sınıftaki tüm eksik işlevleri yerine getiren sınıftır.
İnsanların somut sınıf ve soyut sınıf kavramını daha iyi anlamalarına yardımcı olmak için "sınıf" kavramı tanımlanmalıdır. Bir sınıf, kaynak dosyası bir package deyimi içermediği sürece, varsayılan paketin bir üyesidir. Bir sınıf, bir veya daha fazla soyut yönteme sahip olduğunda veya tüm üst sınıfının soyut yöntemlerini uygulamadığında soyut olarak tanımlanır. Bir sınıf açık bir kurucuya sahip değilse, varsayılan kurucu kullanılmalıdır. Sınıflar herkese açık olarak ilan edilmelidir, aksi takdirde yalnızca aynı paketin üyeleri tarafından erişilebilir olacaktır. Bir sınıf başka bir sınıfla aynı ada sahip olabilir, ancak yalnızca bu iki sınıf aynı paketi paylaşmazsa ve yalnızca iki sınıf asla aynı dosyaya alınmazsa.