public class app8_2 //static成員內只能使用static成員
 { //括號內的變數稱為參數 void表示執行副程式後不傳回值到呼叫處
  //何謂建構元:副程式名稱和類別名稱相同,則此副程式稱為建構元
  public  app8_2(){
   System.out.println("app8_2()建構元");
   app8_2 appo=new app8_2();
   
  }
  static String s1="white"; //<-------不能移動
  public static int abc(int a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=a+b+c;
   return sum;
  }
  public static int abc(double a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=b+c;
   return sum;
  }
  //使用者呼叫main時,會傳一個值給args[]
  public static void main(String args[])throws IOException //<----不能改!
  {   
   //類別名稱 物件名稱= new 類別名稱() <-----建立物件語法
   
   System.out.println(abc(1,20,500));
   cc2 occ2=new cc2();
   occ2.ss2(10,500);//成員的呼叫 ,不同的成員呼叫為物件.成員 
   exam1 kk = new exam1(); 
   String aa[]=new String[20];
   kk.main(aa);//物件.成員
   exam2.main(aa);//類別.static成員,或者物件.static成員
  }
 }
 class cc2
 { //private成員僅能在同一類別使用
  private void ss2(int a,int b)//private成員不能在不同類別內使用
  {
   System.out.println(a-b);
  }
  //protected成員僅能在同一package(資料夾)使用
  protected void ss2(double a,int b)
  {
   System.out.println(a+b);
  }
 }

---

 

 import java.io.IOException;

 public class app8_2 //static成員內只能使用static成員
 { //括號內的變數稱為參數 void表示執行副程式後不傳回值到呼叫處
  //何謂建構元:副程式名稱和類別名稱相同,則此副程式稱為建構元
  public  app8_2(){
   System.out.println("app8_2()建構元");
  }
  
  public   app8_2(String s1){
   System.out.println("app8_2()字串建構元");
  
  }
  
  static String s1="white"; //<-------不能移動
  public static int abc(int a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=a+b+c;
   return sum;
  }
  public static int abc(double a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=b+c;
   return sum;
  }
  //使用者呼叫main時,會傳一個值給args[]
  public static void main(String args[])throws IOException //<----不能改!
  {   
   //類別名稱 物件名稱= new 類別名稱() <-----建立物件語法
   app8_2 appo=new app8_2();
   app8_2 appo2=new app8_2("abc");
   
   System.out.println(abc(1,20,500));
   cc2 occ2=new cc2();
   occ2.ss2(10,500);//成員的呼叫 ,不同的成員呼叫為物件.成員 
   exam1 kk = new exam1(); 
   String aa[]=new String[20];
   kk.main(aa);//物件.成員
   exam2.main(aa);//類別.static成員,或者物件.static成員
  }
 }
 class cc2
 { //private成員僅能在同一類別使用
  private void ss2(int a,int b)//private成員不能在不同類別內使用
  {
   System.out.println(a-b);
  }
  //protected成員僅能在同一package(資料夾)使用
  protected void ss2(double a,int b)
  {
   System.out.println(a+b);
  }
 }


 ---

 

 import java.io.IOException;

 public class app8_2 //static成員內只能使用static成員
 { //括號內的變數稱為參數 void表示執行副程式後不傳回值到呼叫處
  //何謂建構元:副程式名稱和類別名稱相同,則此副程式稱為建構元
  public  app8_2(){
   this("abc");
   System.out.println("app8_2()建構元");
  }
  public   app8_2(String s1){
   System.out.println("app8_2()字串建構元");
 
  }
  
  static String s1="white"; //<-------不能移動
  public static int abc(int a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=a+b+c;
   return sum;
  }
  public static int abc(double a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=b+c;
   return sum;
  }
  //使用者呼叫main時,會傳一個值給args[]
  public static void main(String args[])throws IOException //<----不能改!
  {   
   //類別名稱 物件名稱= new 類別名稱() <-----建立物件語法
   app8_2 appo=new app8_2();//建立物件的行
   app8_2 appo2=new app8_2("abc");
   
   System.out.println(abc(1,20,500));
   cc2 occ2=new cc2();
   occ2.ss2(10,500);//成員的呼叫 ,不同的成員呼叫為物件.成員 
   exam1 kk = new exam1(); 
   String aa[]=new String[20];
   kk.main(aa);//物件.成員
   exam2.main(aa);//類別.static成員,或者物件.static成員
  }
 }
 class cc2
 { //private成員僅能在同一類別使用
  private void ss2(int a,int b)//private成員不能在不同類別內使用
  {
   System.out.println(a-b);
  }
  //protected成員僅能在同一package(資料夾)使用
  protected void ss2(double a,int b)
  {
   System.out.println(a+b);
  }
 }

 

---

 

 import java.io.IOException;

 public class app8_2 //static成員內只能使用static成員
 { //括號內的變數稱為參數 void表示執行副程式後不傳回值到呼叫處
  //何謂建構元:副程式名稱和類別名稱相同,則此副程式稱為建構元
  //建立物件會執行建構元,其目的為初始化類別的資料成員
  //建構元名稱的前面,不能有void或int等一般資料型態,因為它不傳回值
  public  app8_2(){
   //this("abc");//建構元內的第一行可以呼叫另外一個建構元
  System.out.println("app8_2()建構元");
  }
  public void  app8_2(String s1){
   System.out.println("app8_2()字串建構元");
  }
  static String s1="white"; //<-------不能移動
  public static int abc(int a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=a+b+c;
   return sum;
  }
  public static int abc(double a, int b, int c)//main以外的副程式需要被呼叫才會執行
  { int sum=b+c;
   return sum;
  }
  //使用者呼叫main時,會傳一個值給args[]
  public static void main(String args[])throws IOException //<----不能改!
  {   
   //類別名稱 物件名稱= new 類別名稱() <-----建立物件語法
   //類別內無建構元時,只會執行預設的無參數建構元,預設的系統內無(有參數的建構元)
   //建立物件一定會執行建構元
   //當類別內沒有建構元時,會執行JAVA預設的無參數建構元
   //例如類別app8_2無參數建構元為 public app8_2()
   
   //當類別內有建立一個以上的建構元,就不會執行系統預設的建構元
   app8_2 appo=new app8_2();
 }
  }
 class cc
 { //private成員僅能在同一類別使用
  //app8_2 appo2=new app8_2("abc");
  }

 

 

 ---小考題目:

建立一個類別並且建立兩個建構元,有無引數建構元內的第一行呼叫另外一個建構元,並分別印出無引數建構元即有引數建構元

import java.io.IOException;


public class app8_3
 { 
 public app8_3() //無引數建構元
 {this(8.5);
 System.out.println("app8_3()無引數建構元");
 }
 public app8_3(double n) //無引數建構元
 {
 System.out.println("app8_3()double建構元");
 }
 public static void main(String args[])throws IOException
 {
  
  app8_3 appo=new app8_3();
  }
 }

 

 

 

 ------------------------------完整內容

 

import java.io.IOException;


public class abc
{
 public abc()
 { this(8.5);
  System.out.println("app8_2()無參數建構元");
 }
 public abc(double n)//有參數
 {
  System.out.println("app8_2()double參數建構元");
 }
 
 public static void main(String args[])throws IOException //<----不能改!
 {   
  
  abc appo=new abc();//有參數
   
 }
}

---

import java.io.IOException;


public class computer {
 public computer()
 { 
  System.out.println("app8_2()無參數建構元");
 }
 public computer(String n)//有參數
 { this();
  System.out.println("app8_2()double參數建構元");
 }
 
 public static void main(String args[])throws IOException //<----不能改!
 {   
  
  computer appo=new computer("dd");//有參數
   
 }
}

 

 

玥君 發表在 痞客邦 PIXNET 留言(0) 人氣()