在一个类中,您可以在其中创建字段,如以下示例中的 int bar。
Class foo{
int bar;
foo(int bar){
bar = bar;
}
int getBar() {
return bar;
}
void setBar(int bar) {
bar = bar;
}
}
每次我在另一个类中创建一个新的 foo 对象时,该特定对象(foo 的实例)是否会有一个 bar 属性,当使用 setBar() 更改时,只会影响该实例而不影响其他实例?
我经常看到人们在上面的示例中为 bar 等属性创建 getter 和 setter。如果我觉得懒惰并且我只是为自己/乐趣编写代码,我是否可以通过访问该属性
FooInstance1.bar = 22;
而不是编写 setter 来修改该类的任何实例的 bar 属性,它的效果与问题相同1(只是实例被改变了)?Java 编译器如何知道构造函数是什么方法?由于它与类具有相同的名称吗?还是由于没有在函数头中指定返回值这一事实?也许编译器认为什么是构造函数甚至都无关紧要(常规函数之间没有语法差异),它可能只是人们用来区分函数含义的语义事物。
编辑:我很难选择最佳答案。我从每个人身上学到了一些新东西。谢谢!