SORU
5 Mart 2012, PAZARTESİ


Java tipi Foo kapsayan bir örneğini ulaşılabilir

Aşağıdaki kodu var:

class Hello {
    class Thing {
        public int size;

        Thing() {
            size = 0;
        }
    }

    public static void main(String[] args) {
        Thing thing1 = new Thing();
        System.out.println("Hello, World!");
    }
}

Thing bir şey yok biliyorum, ama Merhaba, Dünya benim program olmadan gayet iyi derler. Sadece bana başarısız tanımlanan derslerimi.

Ve derlemek için bunu reddediyor. Yeni bir Şey yaratan satırında No enclosing instance of type Hello is accessible." olsun. Ya tahmin ediyorum:

  1. Sistem düzeyi sorunları (DrJava ya da benim Java yüklemek) var ya
  2. Java ile çalışan bir program oluşturmak için bazı temel yanlış anlaşılma var.

Herhangi bir fikir?

CEVAP
5 Mart 2012, PAZARTESİ


static class Thing programın çalışması yapacak.

Gibi, var Thing gibi bir iç sınıf, (tanım gereği) ile de ilişkili olduğu belirli bir örnek Hello (bile hiç kullanan ya da ifade eder). yani bir hata deme new Thing(); zorunda kalmadan belirli bir Hello örnek kapsam.

Eğer statik bir sınıf olarak yerine bildirirseniz, o zaman bir "" Hello belirli bir örnek ihtiyacı yok ki. sınıf, iç içe.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • Submissions101

    Submissions1

    23 ŞUBAT 2007