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

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • EatingIn

    EatingIn

    12 EKİM 2013
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012