2016-04-06 20 views
2

Bu Java ne denir olarak karıştı ve bu ne:Java sınıfları

public class MainFrame(){ 
     public static void main(String[] args{ 
      //etc. 
     }  
    }//end class 
    class SampleMenuListener implements MenuListener(){ 

    }//end SampleMenuListener 

Ben iç sınıfları araştırılmış ve ancak bunu biliyorum anonim iç sınıflar kullanmayı biliyor Bir değil ve bazı googling sonra bu ne Java denir anlamaya edemedim. Yani benim sorularım buna ne deniyor? Ve Eclipse'de C sınıfı SampleMenuListener yanında gösterilir. Öyleyse bu, SampleMenuListener adlı proje klasöründe yeni bir sınıf oluşturmanın ve MainFrame'de bunun bir örneğini oluşturmanın aynı şey mi? Ve eğer öyleyse bu sadece tutulma içinde ayrı tutmadan başka bir sınıf yazmanın kestirme yoludur? Ya da biraz farklı mı ve nasıl farklıdır? Bu aptalca bir soru olabileceğinden kesinlikle bağlantı göndermekten çekinmeyin, ancak Google’da Java’da neyin çağrıldığına dair sonuçlar almak için google'a doğru anahtar kelimeleri kullanamayacağımı söyledim.

+2

Eğer bir 'class'' 'public''ye ihtiyaç duymuyorsa, kullanılmakta olduğu dosyaya yazılabilir. Eclipse veya herhangi bir IDE'den bağımsız olarak. –

cevap

0

Bu normal bir sınıftır, sadece aynı .java dosyasında yazılmıştır. tek fark, yalnızca bir genel sınıf izinlidir (dosya adının genel sınıfla aynı olması gerekir)

+0

Gerçekten süper bir sınıf değil. Diğer sınıf onu genişletmez. –

+0

Cevabımı güncelledim, görünürlük temelinde herhangi bir yerde süper olarak kullanılabilecek normal sınıf bağlamında süper söylüyordum – Alok

3

Normal olarak, Java'nın her kod dosyası için yalnızca bir sınıfa sahip olabileceğini ve kaynak dosyanın olduğunu söyleyebiliriz. sınıf için adlandırılmalıdır. Bu tamamen doğru değil. Gerçek kuralı, kod dosyası başına yalnızca bir genel sınıfına sahip olmanızdır. (ama lütfen yapmayın ...), istediğiniz kadar çok olabilir, bunlardan en fazla public olduğu sürece.

Diğerleri paket erişimi olmalıdır (erişim belirteci yok). Bkz. the relevant documentation.

Örneğinizdeki SampleMenuListener, herhangi bir diğer gibi bir class örneğidir.