2017-02-09 71 views

回答

1

Composition over inheritance

簡短的回答了 類犬喝法,你不需要擴展另一個類。

Android需要一個Activity來顯示一個接口。你的活動可以「組成」一個CountDownTimer

public class MainActivity extends AppCompatActivity { 
    private CountDownTimer timer; 

    @Override 
    protected void onCreate(Bundle b) { 
     super.onCreate(b); 
     setContentView(R.layout.activity_main); 

     timer = new CountDownTimer(...); 
    } 
} 
1

因爲您可以實現多個接口,甚至可以實現多個接口並擴展一個類,所以您應該使用接口來代替抽象類。

唯一需要注意的是接口必須只有抽象方法。

0

Java中不允許多繼承。所以從字面上看,你只能擴展一個類。考慮將您的抽象類更改爲接口,因爲您可以實現多個接口。

0

在Java中,不允許多重繼承。它被排除在語言作爲設計的決定,主要是爲了避免循環依賴

方案1:正如你所瞭解到以下是不可能在Java中:

public class Dog extends Animal, Canine{ 

} 

方案2:然而,以下是可能的:

public class Canine extends Animal{ 

} 

public class Dog extends Canine{ 

} 

在這兩種方法的區別在於,在

第二種方法有一個明確界定的父母或超級ç lass,

而在第一種方法中,超類是不明確的。

考慮一下,如果動物和犬有兩種方法drink().

  • 在第一種情形下,其父類的方法,如果我們 稱爲Dog.drink將被稱爲()?

  • 在第二個方案中,我們知道調用Dog.drink()將調用只要狗沒有覆蓋它

相關問題