文章出處
文章列表
在上一篇Java中的抽象類中提到抽象類,現在講一個和它很像的東西“接口”,為什么說它和抽象類很像呢?因為接口也是抽象的,它一樣不實現具體的代碼,下面就是一段關于接口的代碼
interface Base{
void hello();
}
class A implements Base{
public void hello(){
System.out.println("hello A");
}
}
public class app {
public static void main(String[] args){
A a = new A();
a.hello();
}
}
// hello A
Java通過interface來定義接口,通過implements來實現具體代碼。這真的非常像抽象類abstract,那么它和抽象類有什么區別呢?接口里面的方法必須是抽象方法,而抽象類里面的方法則根據你自己來定義。另外一個比較大的區別就是,一個接口可以繼承至多個接口,而抽象類則不能,繼承至多個接口通過逗號隔開。以下是一個繼承至多個接口的例子。
interface Base{
void hello();
}
interface Base2{
void hello2();
}
interface Base3 extends Base,Base2{
void hello3();
}
class A implements Base3{
public void hello(){
System.out.println("Hello 1");
}
public void hello2(){
System.out.println("Hello 2");
}
public void hello3(){
System.out.println("Hello 3");
}
}
public class app {
public static void main(String[] args){
A a = new A();
a.hello();
a.hello2();
a.hello3();
}
}
也就是類體里全部都是抽象方法時,我們就可以把這個類定義為接口。
不過也需要注意一下,再接口中定義的變量或方法默認都是公開的public,所以在實現具體方法時,必須顯示的設置,另外一點就是接口中的變量都會成為常量。
那么接口有什么用呢?個人感覺就是用來歸類的,還有一點就是,一種規范,其他人能夠知道這個接口中都有哪些方法,而不必去關心里面具體是怎么實現的,我們只要調用這個接口就可以了,在自己寫庫時比較實用。
文章列表
全站熱搜