关于java中field的理解

最近在看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 ?
  1. class bike{   
  2.   static int bikes;  
  3.   int gear;  
  4.   int cadence;  
  5.   
  6.   void create( int newGear, int newCadence ){  
  7.     bikes = bikes + 1;  
  8.     gear = newGear;  
  9.     cadence = newCadence;}  
  10.   int getSpeed(){  
  11.     int speed = gear*cadence*5*3.141;  
  12.     return speed;  
  13.   }  
  14. }  

'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 ?
  1. class bike{   
  2.   static int bikes;  
  3.   int gear;  
  4.   int cadence;  
  5.   
  6.   void create( int newGear, int newCadence ){  
  7.     bikes = bikes + 1;  
  8.     gear = newGear;  
  9.     cadence = newCadence;}  
  10.   int getSpeed(){  
  11.     int speed = gear*cadence*5*3.141;  
  12.     return speed;  
  13.   }  
  14. }  


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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值