SORU
22 AĞUSTOS 2008, Cuma


Neden't ben bir arabirimdeki statik yöntemler bildirebilirsiniz?

Konu söylüyor en - statik yöntemler bir arabirim ilan edilemez gerçeği nedeni nedir?

public interface ITest {
    public static String test();
}

Bana aşağıdaki hata (Eclipse, en azından) verir yukarıdaki kod: "arabirim yöntemi için Yasadışı değiştirici ITest.() test; sadece halk ve soyut izin verilir".

CEVAP
22 AĞUSTOS 2008, Cuma


Oyun burada bazı sorunlar vardır. Bu ilk tanımlamadan statik bir yöntem ilan konudur. Bu arasındaki farktır

public interface Foo {
  public static int bar();
}

ve

public interface Foo {
  public static int bar() {
    ...
  }
}

Java7 kadar da izin yok, ama Java8 sadece ikinci sağlar. İlk Espo söz edilen nedenlerden dolayı imkansızdır: hangi sınıf uyguluyor doğru tanımını bilmiyorsunuz.

Javaolabilirikincisi izin, birinci sınıf Interfaces tedavi sürece Objects. Ruby ModuleInterfacetam olarak izin s Java yaklaşık eşdeğeri olan s,:

module Foo
  def self.bar
    ...
  end
end

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • calicoJake

    calicoJake

    29 EKİM 2007
  • lilstevie89

    lilstevie89

    25 Mart 2011
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009