首页 > 编程 > Java > 正文

关于java中field的理解

2019-11-09 16:55:14
字体:
来源:转载
供稿:网友

最近在看java注解这块的东西,一直不明白target中field的说明,我看完下边这篇文章以及其他的帖子之后觉得这里注解里边的field说的是类的成员变量。不知道对不对,反正现在是这样理解的,如果有错误还望指正。

下面是我看到的文章,贴出来,虽然跟我理解的有点不一样,但是觉得说的也在理。

尊重人家的辛勤劳作,我转载的地址:http://blog.csdn.net/iaiti/article/details/38794007

多态在域的问题上是特殊的。我理解不了中文版的书直接叫域,看了英文原版,原版写的是fields,直接翻译虽然没错,但是出问题的变量不是域。特地查了what is the meaning of field in Java?很多人把它看成是由花括号括起来的一个范围。其实框架里面也有一种东西——domain model,这个也叫域,域模型。

然后找到这篇文章

What is a field in java?

A field is an attribute. A field may be a class's variable, an object's variable, an object's method's variable, or a parameter of a function.

[java] view plain copy PRint?class bike{     static int bikes;    int gear;    int cadence;      void create( int newGear, int newCadence ){      bikes = bikes + 1;      gear = newGear;      cadence = newCadence;}    int getSpeed(){      int speed = gear*cadence*5*3.141;      return speed;    }  }  'bikes' is a class's variable (class variable) (static field).'gear' and 'cadence' could be an object's variables (instance variables) (non-static fields).'speed' is an object's method's variable (local variable). 'newGear' and 'newCadence' are parameters of a function (parameters).

field,域是一种属性,可以是一个类变量,一个对象变量,一个对象方法变量或者是一个函数的参数。(补充,class‘s variables,类的实例变量和静态变量称为class's variables,类属变量,也称类变量或数据域,其实翻译成属性也可以,类属性,听起来不会怪怪的,来自百度百科)。

[java] view plain copy print?class bike{     static int bikes;    int gear;    int cadence;      void create( int newGear, int newCadence ){      bikes = bikes + 1;      gear = newGear;      cadence = newCadence;}    int getSpeed(){      int speed = gear*cadence*5*3.141;      return speed;    }  }  

bikes是一个类变量(静态域)。

gear 和 cadence 是对象变量(实例变量)(非静态域)。

(这里有一点点小矛盾,其实这样照百科这样说,那么bikes、gear和cadence都是类变量,bikes是类变量中的静态变量,而gear和cadence是类变量中的实例变量。)

speed是对象方法的变量(局部变量)。

(看到没有,local variable,java没有出现gobal variable,全局变量,要说的话类变量的作用范围和全局变量一样,只不过不那样叫)。

newGear和newCadence是函数(方法)的参数(参数)。

原文地址:http://www.answers.com/Q/What_is_a_field_in_java


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表