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

  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012