Aşağı Dönüştürme ve RTTI
Yukarı dönüştürme ile, aslında nesnenin tür bilgisi kaybedilir. Bazı durumlarda bir nesneyi gerçek türüne dçnüştürmek isteyebilirsiniz, buna aşağı dönüştürme denir. Bir nesneyi daha özgü bir sınıfa dönüştürdüğünüzden aşağı dönüştürme açıkça yapılmalıdır:
Sekil s = new Daire();
Daire c = (Daire) s;
	
Aşağı dönüştürme yaparken dönüşümün doğruluğunu garanti etmelisiniz, böylece bir nesneyi ilgisiz sınıfa dönüştürmezsiniz. Örneğin yukarıdaki örnekte s nesnesini Üçgen sınıfına dönüştürmezsiniz. Aslında, Java'da her aşağı dönüştürmeye çalıştırma zamanında tür kontrolü yapılır. Eğer bir nesneyi yanlış bir sınıfa dönüştürmeye çalışırsanız çalıştırma istisnası olur. Bu amaçla çalıştırma tür saptaması (RTTI) özelliği kullanılır. RTTI üzerine daha çok bilgi edinmek için Java dokumantasyonuna başvurabilirsiniz.
Eğer bir nesnenin bir türe aşağı dönüştürülebildiğini kontrol etmek zorundaysanız instanceof operatörü kullanılabilir. Örneğin önceki örnekte, eğer sekiller dizisindeki sadece daireleri belirlemek istiyorsanız şunu kullanabilirsiniz:
for(int i=0; i<sekiller.length; i++) 
  if(sekiller[i] instanceof Daire){
	Daire c = (Daire) sekiller[i];
	... // burada c ile çalışılır
  }