1:可獨立執行的程序和嵌入式應用程序,前者可獨立運行,後者需必須依附在其它程序里執行
2:簡單,完全面向對象,可靠,安全,分布式,多線程,平台無關
3:break語句直接跳出整個循環,continue語句只跳出本次循環
4:實例變數屬於某個對象的屬性,必須創建了實例對象,其中的實例變數才會被分配空間,才能使用這個實例變數。靜態變數不屬於某個實例對象,而是屬於類,所以也稱為類變數,只要程序載入了類的位元組碼,不用創建任何實例對象,靜態變數就會被分配空間,靜態變數就可以被使用了。
5:public:可以認為沒有限制訪問
defualt:同一個包中可訪問(類中不寫默認為次修飾符)
protect:本類以及所有子類可訪問
private:本類內可訪問
6:如果同一個類中包含了兩個或者兩個以上方法 的方法名相同,但是形參列表不同,則被稱為方法重載
7:this在java 中的作用和它的詞義很接近,在函數內部就是這個函數所屬的對象的引用變數.
8:方法覆蓋要求參數簽名必須一致,而方法重載要求參數簽名必須不一致。
9:多態是指不同的子類在繼承父類後分別都重寫覆蓋了父類的方法,即父類同一個方法,在繼承的子類中表現出不同的形式。java是藉助方法的重寫和重載實現多態
10:用abstract關鍵字定義一個抽象類,抽象類只定義或部分實現子類需要的方法。子類可以繼承它並通過實現其中的抽象方法,使抽象類具體化。抽象方法用 abstract 關鍵字聲明,但其中不能有具體內容。
11:抽象類的成員可以具有訪問級別,而介面的成員全部public級別
抽象類可以包含欄位,而介面不可以,
抽象類可以繼承介面,而介面不能繼承抽象類
抽象類的成員可以具有具體實現,而介面不行
抽象的子類可以選擇性實現其基類的抽象方法,而介面的子類必須實現
2. JAVA語言程序設計兩道練習題。謝謝!
第一題有問題:1、創建Person介面(即「人」),它有setData()和getData()方法對「人」屬性name、sex和birthday賦值和獲得這些屬性組成的字元串信息。
問題是:你說要創建一個人(介面),然後裡面有方法對人的屬性進行賦值?這怎麼可能呢,介面是沒有成員變數(屬性)的,怎麼能賦值?介面里只能有常量。
第二題可以答一下:
package pillar;
public class Pillar { private Geometry buttom;
private double height;
public Pillar() {
// TODO Auto-generated constructor stub
}
public Pillar(Geometry button,double height){
this.buttom = button;
this.height = height;
}
public double getVolume(){
return this.buttom.getArea()*height;
}
public Geometry getButtom() {
return buttom;
}
public void setButtom(Geometry buttom) {
this.buttom = buttom;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public interface Geometry { double getArea();
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class Circle implements Geometry { private double r;
public Circle() {
// TODO Auto-generated constructor stub
}
public Circle(double r) {
this.r = r;
}
public double getArea() { return Math.PI*r*r;
}
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class Rectangle implements Geometry { private double width;
private double height;
public Rectangle() {
// TODO Auto-generated constructor stub
}
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() { return this.width*this.height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
------------------------------------------------類分割線---------------------------------------------------------
package pillar;
public class TestPillar {
/** * @param args
*/
public static void main(String[] args) {
Circle c = new Circle(5);
Rectangle r = new Rectangle(3,4);
Pillar p1 = new Pillar(c,6);
Pillar p2 = new Pillar(r,6);
System.out.println("圓的體積:"+p1.getVolume()+"\t矩形的體積:"+p2.getVolume());
}
}
3. JAVA程序設計復習題目
4、AD錯誤原因:floatx;y;定義多個變數應該用,隔開,修改後:floatx,y;
charch1=』m』,ch2=』』;是轉義字元
5、A錯誤原因:B.1.5e-4F後邊的F表示是floatC.abcf字元串D.Float.MIN_VALUEfloat的最小值
6、D錯誤原因:A.inta=6;已經說了定義a為int類型,再定義就重復B.a==3;雙==表示比較C.a=3.2f;末尾的f表示float類型
7、C錯誤原因:C.『a』=8兩邊都是變數
8、B錯誤原因:A.類具有封裝性,所以類的數據是不能被訪問的數據可以被訪問
C.聲明一個類時,必須用public修飾符不是必需的
D.每個類中,必須有main方法,否則程序無法運行不是每個類都要有
9、A錯誤原因:
作用域當前類同包子孫類其他
public√√√√
protected√√√×
default√√××
private√×××
不寫時默認為default。
10、C
A.intfun(inta,floatb){}floatfun(inta,floatb){}方法重載跟返回值無關
B.intfun(inta,floatb){}floatfun(intx,floaty){}方法重載跟返回值無關,跟參數類型和參數個數有關
D.floatfun1(inta,floatb){}floatfun2(inta,floatb){}方法重載就是方法名相同
我說的也未必都對