private一些疑惑
程序代码:
import static java.lang.System.*;
public class no1 {
static class abc{
protected int shuzi=20;
}
public static void main(String[] args) {
abc aaa=new abc();
out.println("shuzi="+aaa.shuzi);
aaa.shuzi=21;
out.println("shuzi="+aaa.shuzi);
}
}
public class no1 {
static class abc{
protected int shuzi=20;
}
public static void main(String[] args) {
abc aaa=new abc();
out.println("shuzi="+aaa.shuzi);
aaa.shuzi=21;
out.println("shuzi="+aaa.shuzi);
}
}
不是说定义了private修饰符的数据域不能修改和访问么?只能通过定义get和set方法进行访问和修改,但是程序出来的结果让我很不解,既可以访问也可以修改
搜索更多相关的解决方案:
private
----------------解决方案--------------------------------------------------------
private?
还有定义的是静态方法
----------------解决方案--------------------------------------------------------
回复 2楼 java小蚂蚁
额 定义错了 是private ----------------解决方案--------------------------------------------------------
程序代码:
/**
* 序列号
*/
private static final long serialVersionUID = -6434128483294080524L;
private String userName;
private String password;
private String msg; //结果信息属性
/**
* @return the userName
*/
public String getUserName() {
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the msg
*/
public String getMsg() {
return msg;
}
/**
* @param msg the msg to set
*/
public void setMsg(String msg) {
this.msg = msg;
}
* 序列号
*/
private static final long serialVersionUID = -6434128483294080524L;
private String userName;
private String password;
private String msg; //结果信息属性
/**
* @return the userName
*/
public String getUserName() {
return userName;
}
/**
* @param userName the userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the msg
*/
public String getMsg() {
return msg;
}
/**
* @param msg the msg to set
*/
public void setMsg(String msg) {
this.msg = msg;
}
这个里面你修改试试
----------------解决方案--------------------------------------------------------
回复 4楼 java小蚂蚁
你这个我看懂了,我就是纠结private用在哪个方面,我在看校园一卡通的时候想到的这个问题,为此纠结到了现在,他作用是干什么啊? ----------------解决方案--------------------------------------------------------
回复 4楼 java小蚂蚁
private的作用是不是就是为了防止继承下来的子类修改父类的值?这么说对吗?我看到校园一卡通这个项目代码就是差不多这个意思 ----------------解决方案--------------------------------------------------------
其实,你是不是想多了,你换个类再调用这个方法试试
private修饰的变量或者方法不是说不能被调用,是只能在本类中调用(也就是说main和private在一个类里面)
出了这个类就不能被调用了
我是这么理解的。。。。。。
----------------解决方案--------------------------------------------------------
回复 7楼 小小程序猿
哦 大体的了解了,谢谢 ----------------解决方案--------------------------------------------------------
以下是引用赵疯子在2013-10-18 18:50:09的发言:
哦 大体的了解了,谢谢
哦 大体的了解了,谢谢
你最好把其他的几个的作用域也查查,一起记忆
----------------解决方案--------------------------------------------------------
疯子也搞Java开发的?
----------------解决方案--------------------------------------------------------