壹、 填空題(2*15=30)
1..class 2. javac java 3. 4,4,12 4 int i = 12
5. true flase 6.float[] floatAry ={2.3, 7.5} 7.方法 屬性
8.abstract 9. jar myjava 10.inner
二、簡答題(8*5=40)
1. Java的基本數據類型及其字節數。
byte 1個字節 short 2個字節 char 2個字節 int 4個字節 long 8個字節
float 4個字節 double 8個字節
2.什麽是成員變量、局部變量,它們的作用範圍分別是怎樣的。
類體由2部分構成:壹部分是變量的定義;壹部分是方法的定義
在變量定義部分定義的變量叫做類的成員變量,成員變量在整個類中都有效.
(全局變量應該是成員變量的俗稱)
在方法體中定義的變量叫做局部變量,局部變量只在定義它的方法中有效.
3.簡述方法與變量的訪問控制符及它們的訪問情況。
變量和方法的修飾字public、protected、private, final, static
public:任何其他類、對象只要可以看到這個類的話,那麽它就可以存取變量的數據,或使用方法。
protected變量和方法:
如果壹個類中變量或方法有修飾字protected,同壹類、同壹包可以使用。不同包的類要使用,必須是該類的子類,可以存取變量或調用。
private不允許任何其他類存取和調用,當子類中的變量名與父類的相同,原來的變量被遮蓋。
final: final在方法之前,防止該方法被覆蓋; final在類之前,標是該類不能被繼承; final在變量之前,定義壹個常量。
static:
在變量或方法之前,表明它們是屬於類的;
靜態變量在各實例間***享,如果是public靜態變量,則其它類可以不通過實例化訪問它們; 靜態方法稱為類的方法,因此不用實例化即可調用(面向過程)
壹個對象的方法可以訪問對象的數據成員,盡管不屬於方法的局部變量;壹個類的方法只能訪問自己的局部變量。
4.繼承使用的原則。
1)子類能夠繼承父類中被聲明為public和protected的成員變量和成員方法;但是不能繼承被聲明為private的成員變量和成員方法;
2)子類能夠繼承在同壹個包中的由默認修飾符修飾的成員變量和成員方法;
3)如果子類聲明了壹個與父類的成員變量同名的成員變量,則子類不能繼承父類的成員變量,此時稱子類的成員隱藏了父類的成員變量;
4)如果子類聲明了壹個與父類的成員方法同名的成員方法,則子類不能繼承父類的成員方法,此時稱子類的成員方法覆蓋了父類的成員方法。
5.Java的異常處理機制及它的基本工作原理
Java通過面向對象的方法來處理例外。在壹個方法的運行過程中,如果發生了例外,則這個方法生成代表該例外的壹個對象,
並把它交給運行時系統,運行時系統尋找相應的代碼來處理這壹例外。我們把生成例外對象並把它提交給運行時系統的過程稱為拋棄(throw)壹個例外。
運行時系統在方法的調用棧中查找,從生成例外的方法開始進行回朔,直到找到包含相應例外處理的方法為止,這壹個過程稱為捕獲(catch)壹個例外。
三、編程題(15*2=30)
1.
interface StudentInterface {
public abstract double getFee();
public abstract void setFee(double fee);
}
interface TeacherInterface {
public abstract void setPay(double pay);
public abstract double getPay();
}
public class Graduate implements StudentInterface, TeacherInterface {
private String name;
private char sex;
private int age;
private double fee;
private double pay;
public double getFee() {
return fee;
}
public void setFee(double fee) {
this.fee = fee;
}
public double getPay() {
return pay;
}
public void setPay(double pay) {
this.pay = pay;
}
public static void main(String args[]) {
Graduate zhangsan = new Graduate();
zhangsan.setPay(11111);// 年收入
zhangsan.setFee(123.3);// 學費
if (zhangsan.getPay() - zhangsan.getFee() < 2000) {
System.out.println(