关于java 类中变量存取权限的问题 booleanaccess 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private表示被修饰的变量只能在当前类里被访问你的这段代码return mt2.beep;还在当前类里啊,所以能被直接访问。相反的,如下这个就不在当前类里,编译就会报错的。public class MainTest1 { private boolean beep; static boolean access(MainTest2 mt2){ return mt2.beep; } } 打个比方吧,public class MainTest1 { private boolean beep; public void setbeep(boolean b){ this.beep=b;}public boolean getbeep(){ return beep;} }与在一个类中,set.get函数可以得到当前类中的任何属性同理,只要在一个类中,就可以访问 package Time20140413;public class Test {/* * public class MainTest2 { private boolean beep; static boolean access(MainTest2 mt2){ return mt2.beep; }} 为何在access函数中,mt2可以直接访问beep变量??? */ public static void main(String[] args) { // TODO Auto-generated method stub Test1 t1 = new Test1(); Test1 t2 = new Test1(); t1.seti(2); t2.seti(3); t1.access(t2); }}public class Test1 { private int i; public void seti(int i) { this.i = i; } void access(Test1 t2) { System.out.println("t1.i = " + this.i); System.out.println("t2.i = " + t2.i); }}个人觉得2楼的解释是不正确的。在一个类中,set.get函数可以得到当前类中的任何属性同理,这句话在大多数情况下是没有问题的,但是在我上面的这两个程序中,在access函数中,要分清楚beep是本类中的beef,还是参数传进来的beef。总的来说(个人觉得):private修饰的成员变量或者方法是为了在另外一个类中创建该对象时,该对象不能访问自己的私有变量或者方法。但是这个例子中,是在本类,不是在另外一个类,所以我觉得可以死记硬背下这种特殊情况。我也不太懂,等待大神... get,set函数,看看为什么要用这两个函数就知道了; java里就不能在内存中创建File对象么?? Java实现哲学家进餐,线程调度出现问题,求指点! 输出1到100之间的质数 错误的提示 关与Spring 一个关于多线程的问题 关于布局的问题 请问如何在VJ或者JDK中开发的程序中,访问HTTP网络资源 一个没看明白的do while JList异步添加元素 求扫描线填充多边形源代码。 救急,(关于javamail)
你的这段代码return mt2.beep;还在当前类里啊,所以能被直接访问。
相反的,如下这个就不在当前类里,编译就会报错的。
public class MainTest1 { private boolean beep; static boolean access(MainTest2 mt2){
return mt2.beep;
}
}
public class MainTest1 {
private boolean beep; public void setbeep(boolean b){
this.beep=b;
}
public boolean getbeep(){
return beep;
}
}
与在一个类中,set.get函数可以得到当前类中的任何属性同理,只要在一个类中,就可以访问
package Time20140413;public class Test {
/*
* public class MainTest2 {
private boolean beep;
static boolean access(MainTest2 mt2){
return mt2.beep;
}
}
为何在access函数中,mt2可以直接访问beep变量???
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test1 t1 = new Test1();
Test1 t2 = new Test1();
t1.seti(2);
t2.seti(3);
t1.access(t2);
}
}
public class Test1 {
private int i;
public void seti(int i)
{
this.i = i;
}
void access(Test1 t2)
{
System.out.println("t1.i = " + this.i);
System.out.println("t2.i = " + t2.i);
}
}
个人觉得2楼的解释是不正确的。
在一个类中,set.get函数可以得到当前类中的任何属性同理,这句话在大多数情况下是没有问题的,但是在我上面的这两个程序中,在access函数中,要分清楚beep是本类中的beef,还是参数传进来的beef。总的来说(个人觉得):private修饰的成员变量或者方法是为了在另外一个类中创建该对象时,该对象不能访问自己的私有变量或者方法。但是这个例子中,是在本类,不是在另外一个类,所以我觉得可以死记硬背下这种特殊情况。我也不太懂,等待大神...