Java中属性和字段的区别:
get和set方法名得出的。
规则是:
去掉get或set后其剩余的字符串,如果第二个字母是小写的,则把第一个字母也变成小写
getAge---->age
字段,通常叫做“类成员”。 这两个概念是完全不同的。
属性只局限于类中方法的声明,并不与类中其他成员相关,属于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;
/**
* java中的属性
* @author mcgrady
*
*/
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;
}
}