程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA基礎培訓(7),構造器的使用

JAVA基礎培訓(7),構造器的使用

編輯:關於JAVA

這裡主要看類的構造器的情況,默認的,無參數的,有參數的,有不同參數類型的, 有多個參數的等各種情況。

package lession7;
/**
* 老紫竹JAVA基礎培訓(7),構造器的使用.<br>
*
* @author 老紫竹 JAVA世紀網(java2000.net)
*
*/
public class Lession7 {
 public static void main(String[] args) {
  new class1(); // 使用了系統自動提供的無參數構造器
  new class2(); // 使用了手工編寫的無參數構造器
  new class3(); // 使用無參數構造器
  new class3("java2000.net"); // 使用有參數構造器
  // new class4(); // 使用無參數構造器失敗
  new class4("java2000.net"); // 調用有參數構造器
  new class5(); // 使用無參數構造器
  new class5("java2000.net"); // 調用有參數構造器
  new class5(1); // 調用有參數的構造器
  new class5("java2000.net", 1); // 帶2個參數的構造器
 }
}
class class1 {
 // 此類沒有寫任何構造器
 // 系統會自動提供一個默認的 public 的無參數構造器
}
class class2 {
 // 手工編寫的無參數構造器
 // 如果只有這個構造器,則和class1沒有任何區別
 public class2() {
 }
}
class class3 {
 // 無參數的構造器
 public class3() {
 }
 // 有參數的構造器
 public class3(String name) {
 }
}
class class4 {
 // 這個類只有一個帶參數的構造器
 // 系統不會自動生成無參數的構造器的
 public class4(String name) {
 }
}
class class5 {
 // 無參數構造器
 public class5() {
 }
 // 帶字符串參數的構造器
 public class5(String name) {
 }
 // 帶整形數字參數的構造器
 public class5(int age) {
 }
 // 帶2個參數的構造器
 public class5(String name, int age) {
 }
}

測試,記得每次測試後恢復現場哦:

1 如果你已經寫了其它的構造器,則默認的無參數構造器就不存在了,嘗試把

// new class4(); // 使用無參數構造器失敗

前面的注釋去掉,看看輸出結果

2 嘗試在一個class4再增加一個字符串為參數的構造器看看

public class4(String address){
}

看看編譯結果。

3 嘗試把 public 的構造器改成 private 的看看編譯結果

4 嘗試把 public 的構造器,改成默認的,也就是沒有修飾符的看看,比如

class4(String name){
}

5 嘗試把類挪到另一個目錄,看看編譯情況

6 把類挪到另外一個目錄,切按照4改成默認的,然後編譯看看

總結:

1 沒有任何構造器的類,系統會自動提供一個無參數的public的構造器

2 如果有了任何的構造器,系統不再提供

3 構造器的參數類型和個數,順序不能完全相同,這個和參數的名字沒關系,只和類 型有關

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved