【问题标题】:Difference between public Boolean isactive and Boolean isactive in PlayFramework Models [duplicate]PlayFramework模型中公共布尔isactive和布尔isactive之间的区别[重复]
【发布时间】:2016-01-25 12:00:01
【问题描述】:

我想知道下面的代码如何影响 Java playframework 中的数据库创建和数据访问

public Boolean isactive;

Boolean isactive;

【问题讨论】:

  • 您可能想阅读about PlayEnhancer
  • @PiNg2Eiw 是的,但这并不能解释差异
  • 如您所见,我并没有创建答案,而是一个可以引导您找到答案的提示,这就是我们有 cmets 的原因。
  • 唯一的区别是isactive 变量的可见性。查看this table,特别是字段i(受包保护)和l(公开)的行。

标签: java playframework ebean


【解决方案1】:

要了解这种差异如何影响数据访问,您必须了解如何控制对类的字段的访问:

  1. https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
  2. In Java, difference between default, public, protected, and private

在成员级别,您也可以像顶级类一样使用公共修饰符或无修饰符(包私有),并且具有相同的含义。对于成员,还有两个额外的访问修饰符:private 和 protected。 private 修饰符指定该成员只能在其自己的类中访问。 protected 修饰符指定该成员只能在其自己的包中访问(与 package-private 一样),此外,它的类在另一个包中的子类也可以访问。

然后,@PiNg2Eiw 链接的页面解释了 Play Enhancer 如何使用这些声明来自动添加 setter 和 getter:

增强器查找 Java 类上的所有字段:

  • 公开
  • 是非静态的
  • 不是最终的

对于这些字段中的每一个,如果它们不存在,它将生成一个 getter 和一个 setter。如果您希望为字段提供自定义 getter 或 setter,只需编写它即可完成,如果 getter 或 setter 已经存在,Play 增强器将直接跳过它的生成。

此外,数据库的创建在很大程度上取决于您映射模型类的方式。请参阅以下文档:

  1. http://ebean-orm.github.io/docs/mapping/
  2. https://www.playframework.com/documentation/2.4.x/JavaEbean

【讨论】:

    猜你喜欢
    • 2011-03-27
    • 2013-11-04
    • 2011-09-11
    • 2010-11-13
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2023-04-10
    相关资源
    最近更新 更多