属性和变量不一样么?
属性和变量不一样么?
属性和变量不一样么?
2016-01-04
类(class)中包含的内容有方法(method)和域(field),这里的field大概就是你说的属性。方法就不解释了。class field 术语叫 类域,更加通俗的称呼,静态域,静态变量,类变量,就是用static设置的,每个类中只能有一个class field。每一个对象对于所有的实例域都有自己的一份拷贝。
instance field 术语叫实例域,也有人称为实例变量,在构造对象的时候会进行赋值,使得每个对象有着自己独特的实例域。
域(field)是定义在类中的,而方法或者一些循环语句中定义的变量就是普通的变量,只是在局部使用的。笼统点的讲,域和普通的变量你可以认为是都是变量,都是用来存放东西的,但是在称呼上还是要有所区分,以示他们定义的位置的区别。这个教程里面讲的概念比较混乱,不过其实这不影响编程,只是对初学时的概念的理解会造成影响。你买一本歪果仁出版的java书,看看就知道了。
private static int nextID=1;// static field 类域
public String name;// instance field 实例域
private double salary;// instance field 实例域
private Date hireDay;// instance field 实例域
public Employee(String n,double s,int year,int month,int day){
public String getName(){
public double getSalary(){
public Date getHireDay(){
public void raiseSalary(double byPercent){
double raise=this.salary*byPercent/100;//普通的变量,临时使用的variable
this.salary+=raise;
}
举报