Açıkçası ilgisiz bir arayüz ve sınıf Casting, bu bir derleme hatasına yol açar Birleştirilmemiş arayüze bir Cat referansı döktüm Mobilya, derleyici Cat'in Mobilya'yı uygulamadığını açıkça söyleyebilir mi?Java: Sandalye Cat ilişkili değildir, çünkü
interface Furniture {}
class Test {
public static void main(String[] args) {
Furniture f; Cat cat = new Cat();
f = (Furniture)cat; //runtime error
}
}
çünkü polimorfizm çalışma zamanında gerçekleşir. –
fakat derleyici, Cat'in Mobilyaları uygulamadığını ve çalışma zamanında değişemeyeceğini biliyor mu? Basit bir noktayı kaçırıyor olabilirim, ama cevabınız bana gerçekten – enp4yne
yardım etmiyor. Cat, Mobilya'yı doğrudan uygulayamasa da, bazı Cat sınıfları olabilir. Ve derleyici, arayüzler için kurallar oldukça sarsılmış olduğundan, çirkin ayrıntılara girmemeyi seçiyor. (Teşekkür ederim, Sun.) Ve derleyici * kaçınılmaz bir çalışma zamanı istisnasını (sıfıra bölmek gibi) algılamak için gereken * genel bir kural yoktur - daha çok bir "hizmet" sağlar. –