關於部落格
進資工一甲
  • 6048

    累積人氣

  • 5

    今日人氣

    0

    訂閱人氣

JAVA2期末考-正確版

1、使用圓形類別的程式
================
public class 使用圓形類別的程式 {
 public static void main(String[] args) {
  圓形 圓形物件1 = new 圓形(); //會呼叫沒有參數的建構子, 產生物件實體
  圓形物件1.半徑 = 10.0;
  System.out.println("圓形物件1的圓周長=" + 圓形物件1.計算圓周長());
  System.out.println("圓形物件1的圓面積=" + 圓形物件1.計算圓面積());
  圓形物件1 = null;  //釋放物件, 物件實體所佔用的記憶體會在適當時機被回收
  
  圓形 圓形物件2 = new 圓形(20); //會呼叫 以r(半徑) 為參數的建構子, 產生物件實體
  System.out.println("圓形物件2的圓周長=" + 圓形物件2.計算圓周長());
  System.out.println("圓形物件2的圓面積=" + 圓形物件2.計算圓面積());
  
  圓形 圓形物件3 = new 圓形(2,5, 30.0); //會呼叫 以x,y(圓心) 及 r(半徑) 為參數的建構子, 產生物件實體
  System.out.println("圓形物件3的圓周長=" + 圓形物件3.計算圓周長());
  System.out.println("圓形物件3的圓面積=" + 圓形物件3.計算圓面積());
  
  //呼叫類別方法 目前產生的圓形物件個數() , 以取得目前產生的圓形物件個數
  //語法為:  類別名稱.類別方法();
  System.out.println("目前為止總共產生了" + 圓形.目前產生的圓形物件個數() +"個圓形物件");
  
 }
}

2、圓形
================
public class 圓形 {
 static int 物件個數 =0;  //類別變數
 int x=0, y=0;          //物件變數,  x,y 代表圓心 
 double 半徑 = 0.0;      //物件變數

 //以下三個為建構子,
 //建構子的特性: 1.名稱與類別同名   2.沒有傳回值 
 //一個類別可以有多個建構子, 以不同的參數個數及參數型別來區分(此現象叫做建構子覆載)
 //呼叫時會自動以參數個數及參數型別來判斷要呼叫哪一個建構子
 public 圓形(){   //沒有參數的建構子
  物件個數++;
 }
 
 public 圓形(double r){  //以r(半徑) 為參數的建構子
  物件個數++;
  this.半徑 = r;
 }
 
 public 圓形(int x, int y, double r){ //以x,y(圓心) 及 r(半徑) 為參數的建構子
  this(r);      //呼叫上面的建構子, 一定要寫在本區塊的第一行
  this.x = x;   //等號右邊的 x 為傳入的參數,  this.x為物件變數(因為與參數 x同名所以加上this.來分別)
  this.y = y;   //理由同上
 }
 
 static int 目前產生的圓形物件個數(){ //前面有加static 稱為類別方法,
                               //因為要存取static的類別變數(物件個數), 所以本身要定義為 static 方法(類別方法)
  return(物件個數);
 }
 
 double 計算圓周長() {   //物件方法
  return 2 * Math.PI * 半徑;
 }
 
 double 計算圓面積() {   //物件方法
  return Math.PI * 半徑 * 半徑;
 }
 
}

相簿設定
標籤設定
相簿狀態