- 論壇徽章:
- 0
|
Chapter 4
4.1 Defining Your Own Classes(編寫自己的類)
構(gòu)造器(constructor)與一般方法的區(qū)別:
一個類構(gòu)造器只能被new調(diào)用。對于一個已存在的實例,你不能用調(diào)用構(gòu)造器去重新設(shè)置這個實例的屬性。如:
Employee James =new Employee("James Bond", 100000, 1950, 1, 1);
//正確用應用
james.Employee("James Bond", 250000, 1950, 1, 1); // 錯誤,這將產(chǎn)生編譯錯誤
我們可以這樣認為:
(1)構(gòu)造器與這個類有同樣的名稱
(2)一個類不止一個構(gòu)造器(至少有一個)
(3)構(gòu)造器可以沒有參數(shù),或有任意個參數(shù)
(4)構(gòu)造器沒有返回值
(5)構(gòu)造器總是被 new 操作符調(diào)用
注意:
在構(gòu)造器中引入局部變量時,局部變量的名稱不要與類的屬性名稱相同。如下面的例子將不能設(shè)置name、salary的值.
public Employee(String n, double s, . . .)
{
String name = n; // ERROR
double salary = s; // ERROR
. . .
}
這個構(gòu)造器定義了兩個局部變量 name 和salary。它們的生存周期只在這個構(gòu)造器內(nèi)。它們隱藏了對象中與其同名的兩個屬性。這種錯誤很跟蹤,所以在你的方法中不要用與對象屬性同名的變量
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/20527/showart_141026.html |
|