Java 中的 getter/setter

2024-01-07

我是 Java 新手,但有一些使用 ActionScript 3 的 OOP 经验,因此我尝试依靠我所知道的内容进行迁移。

在 ActionScript 3 中,您可以使用 get 和 set 关键字创建 getter 和 setter,这意味着您可以在类中创建方法并通过该类实例的属性访问数据。我可能听起来很复杂,但事实并非如此。这是一个例子:

class Dummy{

    private var _name:String;

    public function Dummy(name:String=null){
        this._name = name;
    }

    //getter
    public function get name():String{
        return _name;
    }

    //setter
    public function set name(value:String):void{
    //do some validation if necessary
        _name = value;
    }

}

我会访问name在对象中为:

var dummy:Dummy = new Dummy("fred");
trace(dummy.name);//prints: fred
dummy.name = "lolo";//setter
trace(dummy.name);//getter

我将如何在 Java 中做到这一点?

仅仅拥有一些公共字段是不可能的。 我注意到在方法前面有使用 get 和 set 的约定,我对此很满意。

例如,

class Dummy{

    String _name;

    public void Dummy(){}

    public void Dummy(String name){
        _name = name;
    }

    public String getName(){
        return _name;
    }

    public void setName(String name){
        _name = name;
    }

}

Java 中是否有与 ActionScript 3 getter/setter 等效的方法,如 访问私有字段作为类实例的字段,但有一个在类内部实现该字段的方法?


没有。 AS3 getter 和 setter 是 ECMAScript 的东西。在 Java 中,您只能使用 getVal() 和 setVal() 风格的函数——没有任何语法糖可以让事情变得简单。

我认为 Eclipse 可以帮助自动生成这些类型的东西......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中的 getter/setter 的相关文章

随机推荐

  • 如何在CRM插件中获取当前用户记录?

    我正在开发一个插件 每当调用插件时 我需要获取当前用户信息 有什么办法可以找回它吗 该信息可在 PluginExecutionContext 中找到 下面的代码来自您的插件必须实现的 Execute 方法 public void Execu
  • 如何在 Android 版 Chrome 中强制硬重新加载

    在桌面版 Chrome 中 我可以在开发工具中选择在打开开发工具时完全禁用缓存 并且可以选择在长按重新加载按钮时手动执行硬重新加载 在开发工具打开的情况下 Android 版 Chrome 有这样的技术吗 我没有找到任何设置 当我在开发时想
  • 为 Android 构建内核模块

    我需要将 FTDI USB 模块添加到 Android 内核 Android 2 3 1 Linux 2 6 32 因此我获得了 2 6 32 内核并尝试构建该模块 make modules ARCH arm CROSS COMPILE a
  • 将 PowerShell 变量传递到脚本块

    我正在尝试获取 PowerShell 变量并将它们应用到脚本块 param string username throw Blackberry Admin User Name is required string password throw
  • PostgreSQL 使用 tf-idf 吗?

    我想知道 PostgreSQL 9 3 中使用 GIN GiST 索引的全文搜索是否使用 tf idf 术语频率 逆文档频率 特别是 在我的短语列中 我有一些更受欢迎的单词 而有些则非常独特 即名称 我想对这些列建立索引 以便匹配的唯一单词
  • django.db.utils.InternalError:(1050,“表'django_content_type'已经存在”)

    django db utils InternalError 1050 表 django content type 已经存在 我刚刚从我的朋友那里复制了一个项目 当我运行 makemirations 时它运行正常 但对于 python3 ma
  • 将元素添加到对象数组中

    我有一堂课叫receipt其中一个属性是一个数组item items 我有一个方法addItem string name int quantity double price 我的问题是如何将这些参数添加到数组中items 那么如何检查数量是
  • jQuery 从 Google 标签管理器加载到 gtm.js

    我遇到了一个问题 jQuery v1 9 1 被包含在 gtm js 文件的顶部 它会导致一些问题 并且可能会破坏已经加载到 jQuery fn 上的 jQuery 插件 回归测试也是一个问题 我检查了一下 在加载 jQuery 的 Goo
  • SQL*Plus :强制它返回错误代码

    我有一个存储过程 它有一个 OUT 参数 指示错误代码 如果错误代码不为 0 那么我会提出错误 DECLARE BEGIN foo err code IF err code lt gt 0 THEN raise application er
  • LINQ-to-Entities(不是 Linq-to-SQL)中是否有 DataContext?

    我最近问了一个关于跟踪 Linq to Entity 的问题 https stackoverflow com questions 137712 sql tracing linq to entities 我觉得答案之一 https stack
  • 当表中不存在列时如何将 paginate() 与having() 子句一起使用

    我有一个棘手的案例 以下数据库查询不起作用 DB table posts gt select posts DB raw haversineSQL as distance gt having distance lt distance gt p
  • Java 8 中多重继承的用法

    Am I usingJava 8 的一个功能或misusing it 请参阅下面的代码和解释以了解为什么选择这样 public interface Drawable public void compileProgram public Pro
  • 线程编程中的守护简单列表?

    我正在阅读一本 POSIX 线程书籍进行一些练习 并且我试图找出在一个简单的单链表中需要互斥锁的位置作为一个小练习问题 例如 如果我有一个节点结构列表 template
  • PHP - 使用 LOAD DATA INFILE 将 CSV 文件导入到 mysql 数据库

    我有一个这样的 csv 文件数据 Date Name Call Type Number Duration Address PostalCode City State Country Latitude Longitude Sep 18 201
  • 使用unicode字符u201c

    我是 python 新手 在理解 unicode 时遇到问题 我在用着 Python 3 4 我花了一整天的时间试图通过阅读有关 unicode 的内容来解决这个问题 包括http www fileformat info info unic
  • 具有新 Firebase 的 Nodejs 应用程序不会检索数据库项目

    我是 Nodejs 新手 但已经有一个工作的 js 客户端程序 Firebase 版本 3 0 2 事实证明 我需要一个服务器来完成一些在 js 客户端中不可能完成的简单事情 当我在 Nodejs 中尝试这个基本的事情时 没有任何反应 数据
  • 在 MATLAB 中查找变量的小数位数

    给定变量 x 12 3442 我想知道变量的小数位数 在这种情况下 结果将是 4 如何在不反复试验的情况下做到这一点 这是一个紧凑的方法 y x 10 1 20 find y round y 1 假设x是您的数字 20 是小数点后的最大位数
  • 在java中将数组的字符串表示形式转换回int数组

    刚刚开始使用 Java 编程 如果我有一个存储在 txt 文件中的数组 如下所示 10 22 30 55 10 20 19 如何将其转换回正常的 int 数组以在代码中使用 我需要能够将其简单地存储在这样的 txt 文件中 以便我可以手动对
  • 如何在 Windows 上安装 python-levenshtein?

    经过几天的搜索 我准备放弃寻找 Python 2 7 Windows 64 位 的预编译二进制文件Python Levenshtein 库 http pypi python org pypi python Levenshtein 所以不是我
  • Java 中的 getter/setter

    我是 Java 新手 但有一些使用 ActionScript 3 的 OOP 经验 因此我尝试依靠我所知道的内容进行迁移 在 ActionScript 3 中 您可以使用 get 和 set 关键字创建 getter 和 setter 这意