类的字段和实例上的基本Java/OOP不确定性
在类中,可以在这些字段中创建字段,如以下示例中的int-bar类的字段和实例上的基本Java/OOP不确定性,java,Java,在类中,可以在这些字段中创建字段,如以下示例中的int-bar Class foo{ int bar; foo(int bar){ bar = bar; } int getBar() { return bar; } void setBar(int bar) { bar = bar; } } 每次我在另一个类中创建一个新的foo对象时,该特定对象(foo的实例)是否会有一个ba
Class foo{
int bar;
foo(int bar){
bar = bar;
}
int getBar() {
return bar;
}
void setBar(int bar) {
bar = bar;
}
}
FooInstance1.bar=22来修改这个类的任何实例的bar属性吗
不必编写setter,它将具有与问题1相同的效果(只是实例发生了更改)public int-bar代码>
请注意,这通常是一个坏主意,应该避免
public
会使其容易受到意外写入或非特权读取的影响main
方法的签名为main(String[])
。构造函数由它们与类具有相同的区分大小写的名称来标识另一方面,您可能希望改用
this.bar=bar
,或者完全重命名传入参数。在构造函数内部,bar
变量的作用域是传入内容的局部变量,因此您的实例级别bar
尚未分配。Q1和Q3得到了很好的答案。只需为第二季度添加一些内容:
即使您是为了好玩而编写代码,当您发现没有访问器就无法实现一些功能时,您可能会感到失望
仅列举一些没有访问器可能无法实现的功能。还有很多 reg2:默认字段访问修饰符不是公共的吗?@wuschelbeutelkartofelhuhn-默认范围是包私有的。+1获取有关重命名参数或使用此的建议(我一直不明白为什么有人会为参数选择相同的名称,但它一直都是公共的)。您的“bar=bar;”语句将无效。我很确定你想做“this.bar=bar;”