因此,直到最近,我还是故意为自己保留Java n00b,而我的第一次实际接触却引起了轻微的震惊:Java没有C#样式属性!
好吧,我可以接受。但是,我也可以保证已经在一个代码库中看到了Java中的属性获取器/设置器代码,但是我不记得在哪里。那是如何实现的?是否有语言扩展?它与NetBeans有关吗?
Java中有一个用于getter和setter的“标准”模式,称为Bean
properties
。从根本上讲,任何get
不带参数且返回值的方法都是属性的获取器,该属性称为方法的其余部分(带有小写的起始字母)。同样set
,使用单个参数创建void方法的setter。
例如:
// Getter for "awesomeString"
public String getAwesomeString() {
return awesomeString;
}
// Setter for "awesomeString"
public void setAwesomeString( String awesomeString ) {
this.awesomeString = awesomeString;
}
如果您要求它们,大多数Java IDE都会为您生成这些方法(在Eclipse中,这就像将光标移至某个字段并按ctrl-1,然后从列表中选择选项一样简单)。
对于它的价值,为便于阅读,你可以实际使用is
和has
到位的get
布尔类型属性太,如:
public boolean isAwesome();
public boolean hasAwesomeStuff();
问题内容: 有没有一种简单的方法来验证对象属于给定的类?例如,我可以 但这需要每次在运行中实例化一个新对象,而只是将其丢弃。有没有更好的方法来检查“ a”是否属于类“ MyClass”? 问题答案: 如其他答案所述,关键字通常是您想要的。请记住,超类也会返回。 如果要查看对象是否是类的直接实例,则可以比较该类。您可以通过获取实例的类对象。您可以通过静态访问特定的类。 因此,例如: 在上面的例子中,
问题内容: 在C#中,您可以使用属性使数据字段可公开访问(允许用户直接访问它),但仍保留对那些直接访问的字段执行数据验证的功能。Java是否有类似的东西?对于实例,假设存在一个具有以下实现的C#类(请参见下文): 在该类中的此定义允许用户在从数据字段“ x”中检索值并为其分配值时“自然”使用数据字段“ x”。以下是它在main中的用法。 问题是… java也可以做到这一点吗?如果是这样,它叫什么?
问题内容: 是否可以在Java属性文件的下一行继续长字符串? 例如,以某种方式 当我得到它时,它将返回“ Hello World”? 问题答案: 行尾的反斜杠使您可以跨越多行,而以行开头的空格将被忽略: 在Java文档这样说: 逻辑行包含一个键元对的所有数据,这些数据可以通过用反斜杠字符将行终止符序列转义而分布在几条相邻的自然线上。
有没有办法在java中对Properties对象进行排序? 我有一个字符串,用于对属性进行分组,并检查数据是否以映射格式可用。
有没有简单的方法来验证对象是否属于给定的类?例如,我可以这样做 但是这需要每次动态实例化一个新对象,只是丢弃它。有更好的方法来检查“a”属于“MyClass”类吗?
这是项目级文件: 我正在我的应用程序级别文件。 有没有办法访问这些变量在我的Java项目文件也!。