2016-03-29 22 views
2

Tamam, kısa bir süre önce yıllar önce yazdığım bazı kodları derledim. Bu yüzden, kullandığım decompiler anonim sınıfları derlemeyecek, çünkü Java derleyicisi bunları ayrı sınıflar olarak derlediler.Java'da bu Anonim Sınıfları Nasıl Ayarlıyorum?

TitleScreen adlı bir dosyam var ve TitleScreen $ 1, TitleScreen $ 2 ile takip eden diğer dosyalarım var. Basit. Ama .... neden rakamlar? Sınıf bir int ile adlandırılmadı, bu imkansız. Bunlar nasıl yapılandırılacak? Onlara sadece optionsClick(), worldsClick() gibi rastgele bir isim verirmiyim?

Teşekkürler!

+0

Bunlar genellikle iç sınıflar – 3kings

+1

"Sınıfın bir int ile adlandırılmış değil, bu imkansız" Açıkça bir sınıf tanımlamak deneyin 'TitleScreen $ 1'. Geçerli (ama olağandışı) bir isim. –

+0

@AndyTurner Ah, tamam, teşekkürler! Bunu bilmiyordum! – AppleBabies

cevap

3

Bu, Java derleyicisinin anonim sınıflar için oluşturduğu adlardır.

İstediğiniz adı onlara verebilirsiniz.

+0

Ah, evet, bu iyi görünüyordu. Emin değildim, çünkü yuvalanmış sınıflarla çok çalıştım, adı özel olup olmamasına gerek olmadığını bilmiyordum. Bunun için teşekkürler! – AppleBabies

1

Derleyici bizim için çok daha güçlüdür programcılar ve bu komik sözdizimi ile sınıfları adlandırabilir. Belki de bu, "güvenli" olduğunu bilmesine neden olur: kullanıcı tanımlı bir sınıf (aşağıdaki yorumlara bakın) bu isme sahip olabilir.

Decompiled sınıflarını adlandırmanız gereken şey için, bunları iç sınıflar yaparsanız TitleScreen.Anon1, TitleScreen.Anon2 veya kendi sınıflarıysa TitleScreen_Anon1 öneririm. Bu şekilde, gerekirse orijinal koda geri dönebilirsiniz.

+0

Neden kullanıcı tanımlı bir sınıf bu ada sahip olamaz ?! –

+0

Tamam, ayrıntıya bir bakalım: Bilinen evrende herhangi bir kodlama stili kılavuzunu takip eden aklı başında kullanıcı tanımlı bir sınıf bu ada sahip olamaz. :-) – user949300

+0

s/can/should /, kesinlikle –

İlgili konular