在上篇文章6.3.3实现记住密码功能的代码中,有一句是这样的
login.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
String account=accountEdit.getText().toString();
String password=passwordEdit.getText().toString();
if(account.equals("admin")&&password.equals("123456")){
注意这里如果改成(account==“admin”)&&(password==“123456”),即使输入是对的,也会判断不同。
原因是通过accountEdit.getText().toString()读进来的并不能等同于普通的"admin"。
我的理解是Java中的==是绝对等于,而这里的对象是不同的。
如果直接String account=“admin”,那下面用==也是可以的。
参考:https://blog.csdn.net/weixin_42350212/article/details/80768041
关于Java中的private和public
可以理解为private申明的变量只能在类里面自己用,外面都无法调用它。
而public是外界允许调用的接口。
这里在外面如果要对student赋值,则只能通过public void setId这个,因为这是公有的,外部能访问,不能使用student.id=1,因为这是私有的,private只能类中自己使用,外界完全屏蔽。
参考:https://blog.csdn.net/puqutogether/article/details/44201181