14 Mart 2010  posted by admin

Java da bir base class i daha belirli bir class a çevirme işlemine downcasting denilir. Mesela Object class ini String class ina çevirmek. Bu casting işlemi objeyi tam olarak çevirmez, sadece çevirdiğini iddia eder. Bundan dolayı bazı durumlarda compile time veya runtime hataları alınabilir.




Örnek verecek olursak :


Çalisabilecek kod :

1
2
3
Object o = getSomeObject();

String s = (String) o; // Burada compile time hatası alınmaz çünkü o objesi String class inin referansına sahip olabilir.



Runtime hatası alacak kod :

1
2
3
Object o = new Object();

String s = (String) o; // Object class inin String class ina referans? olmad??? için runtime hatas? olacak



Çalışan kod:

1
2
3
Object o = "a String";

String s = (String) o; // String referansı olduğu için çalışacak



Compile time hatası alacak kod :

1
2
3
Integer i = getSomeInteger();

String s = (String) i; // i nin String class i na referansı olmadığı için dermele anında hata verecektir.



referans : stackoverflow.com


Leave a Reply