BeanShell中Getter和Setter语法
在 BeanShell 中,你可以对 JavaBean 的属性进行存取,存取的方式如同使用字段一样。
- button = new java.awt.Button();
- button.label = "my button"; // 等同于: b.setLabel("my button");
- print( button.label ); // 等同于 print( b.getLabel() );
JavaBean 属性仅仅是一对要遵守命名规范的“setter”方法和“getter”方法。在上面的例子中,BeanShell 涉及一个名叫“setLabel()”的“setter”方法并使用该方法分配了一个 string 类型的值。之后使用 getLabel() 方法重新获得值。
Boolean 属性可以选择性地使用语法“is”作为“getter”方法。比如:(注意“infinite”属性和“isInfinite()”方法)
- Float f = new Float(42f);
- print( f.infinite ); // 等同于 print( f.isInfinite() ); // 打印 false
如 果有任何与一个实际 Java 对象字段名称存在歧义的情况(例如:上面 label 的例子)那么优先使用确切的字段名。如果你希望避免歧义,Beanshell 提供了一个附加的、统一的语法,不但能访问 Java Bean 属性还有 Hashtable 或者 Map。你可以使用“{}”大括号构建一个 String 的标识,作为任何适当类型变量的限定符。
- b = new java.awt.Button();
- b{"label"} = "my button"; // 等同于: b.setLabel("my button");
- h = new Hashtable();
- h{"foo"} = "bar"; // 等同于: h.put("foo", "bar");
注意图示中发生错误的地方,错误的下方是正确的代码。
java.util.Collections 的 API 适用的地方,同样支持 Map。
本文转自 tongqiuyan 51CTO博客,原文链接:http://blog.51cto.com/tongqiuyan/749512
BeanShell中Getter和Setter语法相关推荐
- java中getter和setter,Java中的Getter和Setter
你提供的例子并不合适,至少不是表格和你提到的名字. 我会尝试一些更好的例子: 塞特斯 您可能希望主要使用它们进行验证.作为示例,setDate(日期d)可以检查数据是否在某个范围内,例如,未来不超过2 ...
- Java中getter和setter的一些理解
工作中用C#开发,目前自学Java.自以为很理解Java中的getter和setter了,结果被朋友一问,发现还是一知半解,越想越懵逼. 问题主要有两个: 1. Java中为什么要用getter和se ...
- java中getter 和 setter 方法有什么意义?为什么不用public代替GS?
知乎里的一个答案:https://www.zhihu.com/question/21401198 的确可以暴露,如果1. 所有内外代码都是你自己写:2. 这个模块再也不改了:3. 不会继承它,或者继承 ...
- java中驼峰编码,驼峰式命名法_小驼峰式命名法编程_java中getter和setter
人们交流靠各种语言,每行都有每行的所谓的"行话".程序员也不例外,众所周知,程序员都是用代码进行交流的.那么除了在代码中的注释之外, 程序员如何读懂别人的程序呢? 当然,程序员之间 ...
- ES6—46:class中getter和setter的设置方法
测试代码 实现效果
- JavaScript中闭包实现的私有属性的getter()和setter()方法
注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...
- 属性getter和setter
我们知道,对象属性是由名字.值和一组特性构成的.在ECMAScript5 中,属性值可以用一个或两个方法替代,这两个方法就是getter和setter.由getter和setter定义的属性称做&qu ...
- Kotlin的getter和setter
Blog快览 Java中getter和setter方法 Kotlin中的getter和setter方法 Kotlin中的get()和set()高级用法 Java中getter和setter方法 在Ja ...
- ES6新特性_ES6语法糖-class中的getter和setter设置---JavaScript_ECMAScript_ES6-ES11新特性工作笔记038
我们来看一下这个class中的getter和setter这个,在java中也用对吧, 很简单. 看一下我们给Phone类添加一个get price(){} 这个表示我给price属性,添加了一个get ...
最新文章
- Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(一)...
- 移植U-BOOT之裁剪和修改默认参数(易用性)启动内核,以及对uboot进行分区
- 121_Power Query之R.Execute的read.xlsxODBC
- Hibernate 常见异常
- python日志输入 print 常用格式化符号 logging 日志输出
- 数据结构图文解析之:二分查找及与其相关的几个问题解析
- Win11没有nvidia控制面板怎么解决
- PCB加工文件—Gerber文件的导出(转载)
- 【利用VBA批量处理中望CAD的修改打印出PDF】
- leetcode *1818. 绝对差值和(2021.7.14)
- 为什么马云最佩服「唐僧团队」?
- BZOJ3689 异或之
- ECMWF数据批量下载
- 基于STM32智能RFID刷卡汽车位锁控制系统设计
- java计算机毕业设计springboot+vue度假山庄酒店管理系统
- 数字证书颁发及认证原理
- 小程序基于Taro的Canvas写字效果和背景图水印效果
- 微信点餐系统——买家类目service层创建并测试通过
- 《JavaScript实现页面图片滚动播放》
- Python 学习入门(0)—— 简明教程