繼續(xù)是面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它答應創(chuàng)建分等級層次的類。運用繼續(xù),你能夠創(chuàng)建一個通用類,它定義了一系列相關(guān)項目的一般特性。該類可以被更具體的類繼續(xù),每個具體的類都增加一些自己特有的東西。在java 術(shù)語學中,被繼續(xù)的類叫超類(superclass ),繼續(xù)超類的類叫子類(subclass )。因此,子類是超類的一個專門用途的版本,它繼續(xù)了超類定義的所有實例變量和方法,并且為它自己增添了獨特的元素。
繼續(xù)一個類,只要用extends 要害字把一個類的定義合并到另一個中就可以了。為了理解怎樣繼續(xù),讓我們從簡短的程序開始。下面的例子創(chuàng)建了一個超類A和一個名為B的子類。注重怎樣用要害字extends 來創(chuàng)建A的一個子類。
// A simple example of inheritance.
// Create a superclass.
class A {
int i, j;
void showij() { System.out.PRintln("i and j: " + i + " " + j); }}
// Create a subclass by extending class A.
class B extends A {
int k;
void showk() {
System.out.println("k: " + k); } void sum() {
System.out.println("i+j+k: " + (i+j+k));
}
}
class SimpleInheritance {
public static void main(String args[]) {
A superOb = new A();
B subOb = new B();
// The superclass may be used by itself. superOb.i = 10; superOb.j = 20;
System.out.println("Contents of superOb: "); superOb.showij(); System.out.println();
/* The subclass has access to all public members of
its superclass. */ subOb.i = 7; subOb.j = 8; subOb.k = 9; System.out.println("Contents of subOb: "); subOb.showij();subOb.showk(); System.out.println();
System.out.println("Sum of i, j and k in subOb:");
subOb.sum();
}
}
該程序的輸出如下:
Contents of superOb:
i and j: 10 20
Contents of subOb:
i and j: 7 8
k: 9
Sum of i, j and k in subOb:
i+j+k: 24
像你所看到的,子類B包括它的超類A中的所有成員。這是為什么subOb 可以獲取i和j 以及調(diào)用showij( ) 方法的原因。同樣,sum( ) 內(nèi)部,i和j可以被直接引用,就像它們是B的一部分。
盡管A是B的超類,它也是一個完全獨立的類。作為一個子類的超類并不意味著超類不能被自己使用。而且,一個子類可以是另一個類的超類。聲明一個繼續(xù)超類的類的通常形式如下:
新聞熱點
疑難解答