SORU
8 EKİM 2008, ÇARŞAMBA


Bir yol var C taklit 'dostum' Java kavramı nedir?

Diğer sınıfının bir alt sınıfı yapmak zorunda kalmadan başka bir paket içinde bir sınıfın halka açık olmayan yöntemler erişimi olan bir paketi, bir Java sınıfı yazmak istiyorum. Bu mümkün mü?

CEVAP
5 EYLÜL 2013, PERŞEMBE


İşte C arkadaşım mekanizması çoğaltmak için JAVA kullandığım küçük bir hile.

Bir sınıf var diyelim Romeo ve başka bir sınıf 3**. Farklı paketler (aile) nefrete sebep verirler.

Romeo 5* Juliet *istiyor ve Juliet Romeo cuddle onun izin vermesini istiyor.

C Juliet Romeo beyan ederim (sevgilim) friend ama java diye bir şey yok.

Burada sınıfları ve hile :

Bayanlar önden :

package capulet;

import montague.Romeo;

public class Juliet {

    public static void cuddle(Romeo.Love l) {
        l.hashCode();
        System.out.println("O Romeo, Romeo, wherefore art thou Romeo?");
    }

}

Juliet.cuddle public yöntem ama Romeo.Love bir seçmen gerek. Kullandığı bu Romeo.Love gibi bir "imza güvenlik" sağlamak için sadece Romeo çağrı, bu yöntem ve sadece arama hashCode hakkında bu kadar çalışma zamanı fırlatır NullPointerException null.

Şimdi çocuklar :

package montague;

import capulet.Juliet;

public class Romeo {
    public static class Love { private Love() {} }
    private static Love love = new Love();

    public static void cuddleJuliet() {
        Juliet.cuddle(love);
    }
}

23 ** sınıf ortak olduğunu, ancak onun oluşturucu private. Bu nedenle herkes bunu anlayabilir, ama sadece Romeo inşa edebilir. Asla kullanılan Romeo.Love yalnızca bir kez oluşturulur ve iyileştirme etkisi yok yani statik bir referans olarak kullanın.

Bu nedenle, Romeo olabilir cuddle Juliet ve sadece o olabilir çünkü sadece o inşa ve erişim Romeo.Love örneği, hangi tarafından gerekli Juliet cuddle onun (ya da onu başka bir tane sana bir NullPointerException).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • ShoSho

    ShoSho

    20 Ocak 2010