2010-11-18 25 views
1

Genel bir örnek oluşturmak için türü nasıl zorlarsınız?Tür, genel bir örnek oluşturmak için nasıl ayarlanır?

MyClass myInstance = new MyClass(); 

Ve bu çalışması gerekir:

public class MyClass<T extends MyClass2> { /* ... */ } 

public class A extends MyClass2 { /* ... */ } 

Bu başarısız olması mümkün değildir

MyClass<A> myInstance = new MyClass<A>(); 

cevap

2

Bunu Java'da yapamazsınız. Tüm genel sınıflar, ilgili ham türünde karşılık gelir.

sen ancak Eclipse kullanan edersek, ham türleri kullanımlar için bir derleme hatası üretmek için ayarlayabilirsiniz:

Pencere -> Tercihler -> Java/Derleyici/Hataları -> Genel Türleri -> Set Hataya "Ham Tiplerin Kullanımı".

1

. Bir çalışma zamanı kontrolü istiyorsanız, en iyi bahisten türü argüman olarak alan tek bir kurucu sağlamaktır.

public MyClass(Class<T> type) { 
    this.type = type; 
} 
İlgili konular