java的介面和類
類:
類是具有相同屬性和服務的一組物件的集合。為屬於該類的所有物件提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。在面向物件的程式語言中,類是一個獨立的程式單位,應該有一個類名幷包括屬性說明和服務說明兩個主要部分。
介面的功能:
(1) 通過介面可以實現不相干類的相同行為而不需考慮這些類之間的層次關係。
(2) 通過介面可以實現多繼承機制。
(3) 通過介面可以瞭解物件的互動介面而不需瞭解物件所對應的類。
介面和類之間的區別:
(1)類只能繼承一個類,而對於介面,可以實現繼承多個介面。
(2)對於繼承性,類繼承了父類的方法,子類可以選擇是否覆蓋父類的方法。
(3)介面的方法沒有實現,因此,類必須實現介面中的每個方法。
例如:
建立一個test.java檔案:
public interface test {
void a();
//void t();
}
abstract class rr {
void a()
{
};
void b()
{
};
void c()
{
};
}
建立一個runtest.java 檔案:
class runtest extends rr implements test { @Override public void a() { } @Override void b() { super.b(); } }
不報錯,去掉void t();的註釋,報錯:
在cmd裡面不行:
這樣:
public class Hkk extends rr implements Test{
public void a(){
System.out.println("aaa");
}
public void b(){
System.out.println("bbb");
}
public void ee()
{
System.out.println("eee");
}
public static void main(String args[]){
Hkk m = new Hkk();
m.a();
m.b();
m.c();
m.d();
m.ee();
}
}
abstract class rr {
void c()
{
System.out.println("ccc");
};
void d()
{
System.out.println("ddd");
};
}
在Test.java裡面:
interface Test {
public void a();
public void b();
}
這樣就知道繼承和介面的實現的不同了,。/