我已经阅读了很多看起来像这样的Android代码,很多次:
public class MainActivity extends AppCompatActivity {
EditText editText;
TextView textView;
int someInt;
String someString;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//init views
}
}
我在Android编程中仍然是一个小伙伴,但作为一名经典的Java程序员,我不明白为什么你不将你的字段封装为私有字段,并在必要时通过getter访问它们。这有什么理由吗?像同一个包中的其他类或活动需要直接访问字段?这可能是一个愚蠢的问题,但我无法找到解释。
答案 0 :(得分:2)
您应该对只能在该类中访问的字段使用私有访问修饰符。
因此,在您的情况下,您说EditText
应该是私人字段是正确的。
我不确定您在哪里阅读此代码,但据我所知,最佳做法是尽可能降低可见性。
答案 1 :(得分:0)
m用于便于理解或区分本地变量和成员变量。此外,如果您尝试从另一个活动访问和修改EditText的文本而不扩展它,您将无法执行此操作。它与onCreate()
绑定。