从这里: http : //docs.oracle.com/javase/tutorial/information/glossary.html

领域

一个类的数据成员。 除非另外指定,否则字段不是静态的。

属性

用户可以设置的对象的特征,例如窗口的颜色。

属性

未在上述术语表中列出

variables

一个由标识符命名的数据项。 每个variables都有一个types,例如int或Object和一个作用域。 另请参阅类variables,实例variables,局部variables。

就在这里。

variables可以是本地,字段或常量(虽然这在技术上是错误的)。 它像属性一样模糊。 此外,你应该知道一些人喜欢调用最终的非静态(本地或实例)variables

“ 价值观 ”。 这可能来自新兴的JVM FP语言,如Scala。

字段通常是一个实例类的私有variables。 这并不意味着有一个getter和一个setter。

属性是一个模糊的术语。 它可以很容易地与XML或Java命名API混淆。 尽量避免使用这个术语。

属性是getter和setter组合。

下面的一些例子

public class Variables { //Constant public final static String MY_VARIABLE = "that was a lot for a constant"; //Value final String dontChangeMeBro = "my god that is still long for a val"; //Field protected String flipMe = "wee!!!"; //Property private String ifYouThoughtTheConstantWasVerboseHaHa; //Still the property public String getIfYouThoughtTheConstantWasVerboseHaHa() { return ifYouThoughtTheConstantWasVerboseHaHa; } //And now the setter public void setIfYouThoughtTheConstantWasVerboseHaHa(String ifYouThoughtTheConstantWasVerboseHaHa) { this.ifYouThoughtTheConstantWasVerboseHaHa = ifYouThoughtTheConstantWasVerboseHaHa; } }

还有更多的组合,但我的手指越来越累了:)

如果您的问题是使用JAXB提示的,并且想要select正确的XMLAccessType ,那么我有同样的问题。 JAXB Javadoc说“字段”是一个非静态的,非瞬态的实例variables。 一个“属性”有一个getter / setter对(所以它应该是一个私有variables)。 “公共成员”是公开的,因此可能是一个常数。 同样在JAXB中,“属性”是指XML元素的一部分,如在hello world 。

一般来说,一个Java“属性”可以被定义为一个至less有一个getter或者其他公有方法的字段,这个方法可以让你获得它的价值。 有些人还说,一个财产需要一个二传手。 对于这样的定义,上下文就是一切。

Dietel和Dietel有一个很好的解释领域与variables的方法。

“一个类的静态variables和实例variables一起被称为它的字段”(6.3节)

“variables应该被声明为字段,只要它们被要求用于多于一个类的方法,或者程序应该在调用类的方法之间保存它们的值。”(6.4节)

所以一个类的字段是它的静态variables或实例variables – 即用类作用域声明。

参考资料 – Dietel P.,Dietel,H. – Java™如何编程(早期对象),第十版(2014年)

如果你从Hibernate中获得线索:

Hibernate用它的字段读/写Object的状态。 Hibernate还将Java Bean样式属性映射到DB架构。 Hibernate访问加载/保存对象的字段。 如果映射是由属性完成的,hibernate使用getter和setter。

它是封装区分的意思,你有一个字段的getter / setter,它被称为属性,并且我们隐藏了setMethod中该属性的底层数据结构,我们可以防止setter方法中不需要的更改。 所有封装代表什么…

字段必须在使用之前声明和初始化。 主要用于课堂内部使用。

属性可以被setter改变,并且被getter暴露。 这里现场价格有getter / setter,所以它是财产。

class Car{ private double price; public double getPrice() {…}; private void setPrice(double newPrice) {…}; }

同样使用字段 ,[在hibernate,这是推荐的方式使用字段,其中私人诠释ID; 被注释@Id,但与财产,你有更多的控制]

class Car{ private double price; }

Java doc说:Field是一个类的数据成员。 一个字段是非静态的,非瞬态的实例variables。 字段通常是一个实例类的私有variables。

variables由字段和非字段组成。

字段可以是:

静态字段或

非静态字段也称为实例,例如x = F()

非字段可以是:

局部variables,字段的类比,但内部的方法,而不是所有的外部,或

参数例如y in x = f(y)

总之,variables之间的关键区别在于它们是字段还是非字段,意味着它们是在方法内还是在所有方法之外。

基本的例子(对不起,我的语法,我只是一个初学者)

Class { //fields method1 { //non-fields } }

其实这两个词经常被用来代表同样的东西,但也有一些特殊的情况。 一个字段可以存储一个对象的状态。 而且所有的字段都是variables。 所以很显然,可以有不是领域的variables。 因此,查看4种types的variables(类variables,实例variables,局部variables和参数variables),我们可以看到类variables和实例variables可以影响对象的状态。 换句话说,如果一个类或实例variables发生变化,对象的状态就会改变。 所以我们可以说类variables和实例variables是字段,而局部variables和参数variables则不是。

如果你想深入了解,你可以转到下面的来源:

问题是旧的,但variables和字段之间的另一个重要区别是字段在声明时会获取默认值。另一方面,variables必须初始化。

我的理解如下,我不是说这是100%正确的,我不太可能被误解。

一个variables是你声明的东西,它可以在默认情况下改变并具有不同的值,但也可以明确地说是最终的。 在Java中,这将是:

public class Variables { List listVariable; // declared but not assigned final int aFinalVariableExample = 5; // declared, assigned and said to be final! Integer foo(List someOtherObjectListVariable) { // declare.. Object iAmAlsoAVariable; // assign a value.. iAmAlsoAVariable = 5; // change its value.. iAmAlsoAVariable = 8; someOtherObjectListVariable.add(iAmAlsoAVariable); return new Integer(); } }

所以基本上,一个variables就是声明的任何东西,并且可以保存值。 上面的方法foo返回一个variables,例如..它返回一个Integertypes的variables,它保存新的Integer()的内存地址; 你在上面看到的其他东西也是variables,listVariable,aFinalVariableExample,并在这里解释:

一个字段是一个范围更清晰(或具体)的variables。 在上面的例子中,从foo方法返回的variables是不清楚的,所以我不会把它称为一个字段。 另一方面,iAmAlsoVariable是一个“本地”字段,受方法foo的作用域限制,而listVariable是一个“实例”字段,字段(variables)的作用域被对象作用域所限制。

属性是可以被访问/变异的字段。 公开getter / setter的任何字段都是属性。

我不知道属性,我也想重申一下,这是我对variables,属性和属性的理解。

java中的variable是什么,Java POJO中的field,variable,attribute和property有什么区别?相关推荐

  1. java中一些对象(po,vo,dao,pojo)等的解释

    一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  2. java po vo bo是什么以及_JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    (一)O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界 ...

  3. java中row类,Flink数据类型之POJO和Table中的Row

    Published: 2019-09-15 22:10:00 tags: Flink Flink数据类型支持 TypeInformation主要是为Flink系统内有效的对数据结构类型进行管理, 对数 ...

  4. 【面向对象】——JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    前言 以前在学校学习java的时候,凡是开发项目都会将各个类分门别类的放在不同的包下,其中实体类的包尤为普遍,一般我都是建一个com.xxx.bean的包,然后凡是项目里面用到的实体类都丢进去,大家都 ...

  5. 是否可以在Gradle中声明一个可用于Java的变量?

    本文翻译自:Is it possible to declare a variable in Gradle usable in Java? Is it possible to declare a var ...

  6. java的(PO,VO,TO,BO,DAO,POJO)解释

    java的(PO,VO,TO,BO,DAO,POJO)解释    O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库 ...

  7. java的(PO,VO,TO,BO,DAO,POJO)解释1

    java的(PO,VO,TO,BO,DAO,POJO)解释  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...

  8. java jar 目录_将Java类路径中的所有jar包括在一个目录中

    有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...

  9. jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

    转载自   jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结 为什么使用该功能? 项目中的每个页面都包含产品名称.Logo.版本等信息,我希望修改一处,其它所有的全部跟着变 ...

最新文章

  1. 选择Kong作为你的API网关
  2. 低版本不能使用php 命令,创建软链接
  3. 5 table滑动固定_内滑动钢套钢蒸汽直埋保温钢管
  4. VS2008 只生成DLL不生成lib文件
  5. 数据结构 - 链表(单向环形链表)(约瑟夫问题)
  6. Java Web模块——验证码模块
  7. python3未配置_python3安装文件遇到ssl未安装问题
  8. python画条形图-python绘制条形图方法代码详解
  9. 网站性能测试工具Apache Benchmark的使用说明
  10. 智能陈桥输入法软件测试,智能陈桥拼音输入法
  11. 乐高叉车wedo教案_特色课程——乐高wedo动力机械
  12. 【JavaScript】打印星型金字塔
  13. 有1000个一模一样的瓶子,其中有999瓶是普通的水,有1瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出那个瓶子里有毒药?
  14. cms系统自己建网站其实很简单
  15. 软件项目管理实践经验谈
  16. 【设计模式】设计模式的七大原则
  17. SQL实战(2)——国庆期间每类视频点赞量和转发量
  18. 微信头像存储mysql数据库
  19. MySQL备份恢复之mysqldump恢复
  20. python快速入门编程第5章编程题

热门文章

  1. 中介者模式 - 门面
  2. 【C指针】初识指针,轻松了解指针
  3. 软件架构师-论文写作要求-摘要-扣分原则-加分原则-不及格
  4. 文件13:文件路径-路径文件删改方法
  5. 蓝牙信标有哪些附加功能?蓝牙信标的工业用途知多少?
  6. 微信 for Windows 内测3.3.0版本,能刷朋友圈啦!
  7. AutoCAD正版软件多少钱?企业应该采购多少license?
  8. 微型计算机安装教程,微型计算机的软件安装
  9. LiteMes系统中对于文件系统的文件删除使用
  10. CentOS 7.5系统安装使用Mysql 5.7数据库