Java中屬性和字段的差別:
1. Java中的屬性,通常可以了解為其屬名性時根據get和set方法名得出的。
其規則是:
去掉get或set後其剩餘的字元串,如果第二個字母是小寫的,則把第一個字母也變成小寫
getAge---->age
2. 而字段,通常叫做“類成員”。 這兩個概念是完全不同的。
屬性隻局限于類中方法的聲明,并不與類中其他成員相關,屬于javabean的範疇。
例如:
void setA(String s){} String getA(){}
當一個類中擁有這樣一對方法時,我們可以說,這個類中擁有一個可讀寫的a屬性(注意是小寫a)。
如果去掉了set的方法,則是可讀屬性,反之亦然。
比如有下面這個類:
public class Person { private int x; public int getAge()
3、在C#中,我們可以非常自由的、毫無限制的通路公有字段,但在一些場合中,我們可能希望限制隻能給字段賦于某個範圍的值、
或是要求字段隻能讀或隻能寫,或是在改變字段時能改變對象的其他一些狀态,這些單靠字段是無法做到的,于是就有了屬性,
屬性中包含兩個塊:set和get,
set塊負責屬性的寫入工作,
get塊負責屬性的讀取工作。
在兩個塊中都可以做一些其他操作,如在set中驗證賦的值是否符合要求并決定是否進行指派。
當缺少其中一塊時屬性就隻能讀或隻能寫,set和get塊中屬性必需有一個,因為即不能讀又不能寫的屬性是沒有意義的。
class MyClass
{
Private string name;
public string Name
{
get {return Name;}
set {Name=value;}
}
}
(1)屬性可以保證安全,當不在本類中使用時可以保證使用屬性名可以避免
用字段的名字。
(2)屬性的set和get函數可以限制字段的一些功能,以達到某種目的。
如:
private int a=0;
public int A
{
get{return this.a;}
set
{
if(value >= 0 && value <= 100)
this.a=value;
else
throw new Exception("值的範圍不合法。");
}
}
(3)屬性沒有存儲資料的功能,資料都存在字段中,是以隻有修改字段的資料才能更改資料,修改屬性的值沒用。
2、Java中的屬性和字段有什麼差別?
答:
Java中的屬性,通常可以了解為get和set方法。
字段,通常叫做“類成員”。
屬性隻局限于類中方法的聲明,并不與類中其他成員相關。
例如:
void setA(String s){}
String getA(){}
當一個類中擁有這樣一對方法時,我們可以說,這個類中擁有一個可讀寫的 a 屬性(注意是小寫a)。如果去掉了set的方法,則是可讀屬性,反之亦然。
類成員(字段),通常是在類中定義的類成員變量,
例如:
public class A{
private String s = "123";
}
我們可以說A類中有一個成員變量叫做s。
1、JAVA中聲明屬性
package property;
public class Employee {
//聲明兩個私有字段
private String name;
private int age;
//分别實作set和get方法
public void setName(String name)
{
this.name= name;
}
public String getName()
{
return this.name;
}
public void setAge(int age)
{
this.age= age;
}
public int getAge()
{
return this.age;
}
}
參考部落格:http://blog.csdn.net/ljz2009y/article/details/8023499