在一个类中如何给另一个类的私有成员变量赋值

private String userName;//用户姓名
public void setUserName(String userName){
this.userName=userName;
}
public String getUserName(){
return userName;
}
另一个类中
package example;
import info.User;
class UserDemo{
UserDemo wangLiLi=new UserDemo();
wangLiLi.setUserName("王丽丽");
为什么 这样赋值不对?

如果私有变量有set和get方法的话,可以赋值和进行值读取,如果没有这两个方法的话,那么外部类没法赋值的。
举例:
类User:
public class User {
private String username ;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
此时在类B中就可以通过
User user = new User();//创建对象
user.setUsername("zhangsan");//赋值
user.getUsername();//获取到值
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
您好,提问者:
对,你这种赋值是对的。
如果属性是私有,需要对外暴露一个公共的方法即可。追问

追答

User u = new User();//改为你那个类

追问

还是不行哦,结果还是错误

追答

错误贴一下

追问

追答

你少了public static void main(String[] args)方法,把代码写到这里面

本回答被提问者采纳
相似回答