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

  • CNET

    CNET

    5 Mayıs 2006
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010