在C#中,您可以使用属性使数据字段可公开访问(允许用户直接访问它),但仍保留对那些直接访问的字段执行数据验证的功能。Java是否有类似的东西?对于实例,假设存在一个具有以下实现的C#类(请参见下文):
public class newInt{
public newInt(){...}
public int x{
get{ return this.x }
set{ this.x = isValid(value) }
}
}
private static int isValid(int value){...}
在该类中的此定义允许用户在从数据字段“ x”中检索值并为其分配值时“自然”使用数据字段“ x”。以下是它在main中的用法。
public class Test{
public static void main(String[] args){
newInt a = new newInt();
a.x = 50;
int b = a.x;
}
}
问题是… java也可以做到这一点吗?如果是这样,它叫什么?
没有。
这就是Java具有getter / setter的原因。
在C#中,您通常会有类似以下内容:
public class SomeObject
{
private string _title = "";
public string Title { get { return _title; } set { _title = value; } }
}
// Or with Auto-Properties
public class SomeObjectAutoProperties
{
public string Title { get; set; }
}
Java getter / setter等效项为:
public class SomeObject
{
private String _title = "";
public string getTitle() { return _title; }
public void setTitle(String value) { _title = value; }
}
问题内容: C#属性(我的意思是get和set方法)是一个非常有用的功能。Java是否也具有类似于C#属性的内容。我的意思是我们如何在Java中实现类似以下C#代码的内容: 问题答案: 不,Java没有等效性。它只有访问器和更改器方法,以及getter和setter方法的奇特名称。例如:
问题内容: 我真的没有得到所映射的属性的含义。请告诉我如果不使用它会如何影响。如果您能举个例子,那对我来说将非常有用。 另外,属性mappedBy和反面是否相同? 问题答案: 是的,在注解中由映射与在XML文件中执行相反的功能。 关系中始终有2个实体参与其中。 如果是一对一或一对多或多对一,则密钥将存储在其中一个实体中。将其存储在2个地方没有任何意义。 它必须告诉hibernate状态,键位于关系
问题内容: 我正在用Python编写一个空间交易游戏,并且我决定需要将地图分成较小的块,以减少在任何给定时间在屏幕上绘制时需要考虑的对象数量。 这通过具有一个Sector对象来处理,该对象的定义如下: 然后,生成器代码将75个星标填充在每个扇区中(此刻目前为100个扇区),并保留在stardict中。 但是,在尝试实际运行程序时会出现一些奇怪的错误,并且使用调试器打开它可以说明原因:每个扇区的st
假设您有2个包,并且有名为-Test的公共类。 第一个包。测试 第二包测试 它们中的每一个都有实例变量-x。 在第一种情况下-int x=2; 在第二种情况下-int x=3; 我想导入FirstPackage。在第二个包内测试。测试并打印值为2的x。 我的代码: 但是输出是3。如何打印?
问题内容: 因此,直到最近,我还是故意为自己保留Java n00b,而我的第一次实际接触却引起了轻微的震惊:Java没有C#样式属性! 好吧,我可以接受。但是,我也可以保证已经在一个代码库中看到了Java中的属性获取器/设置器代码,但是我不记得在哪里。那是如何实现的?是否有语言扩展?它与NetBeans有关吗? 问题答案: Java中有一个用于getter和setter的“标准”模式,称为Bean
我试图找到一个没有属性的元素的XPath。它只能通过其父级的属性来识别。然而,父级也不具有唯一属性。 例如: 这里有两个元素。如何获得第二个元素。上面的语法为我提供了第一个元素。。但是,如果我使用: 我得到一个错误消息"xpath表达式 '//*[@id="btn"][2]/ul/li[2]/a/span'无法计算或不会导致WebElement"