学习中。。。private的提问

来源:百度知道 编辑:UC知道 时间:2024/05/19 19:58:23
在同一个目录下写了两个JAVA小程序 目的是想看看private的语法
public class bpp{
public static void main(String args[]){
app b=new app(1,"sdfd",12.06);
b.show();
}
}

public class app{
private int a;
String b;
double c;
public app(int a1,String b1,double c1)
{
this.a=a1;this.b=b1;this.c=c1;
};
void show()
{
System.out.println(a+","+b+","+c);
}
}

照书上的说 app的a是private的呀 为什么执行bpp的给a赋值能通过 不是说private成员不允许类外部的访问吗 ?
在线等
~~~~ 加分哦

app b=new app(1,"sdfd",12.06); 这个构造函数啊 不是就给a赋值了吗

二楼的说的正确,你理解错误了,不是说不能给private的属性赋值,而是不能在其他的类中明确操作private的属性,即private属性在其他类中不可见,是透明的。是可以间接赋值的。

估计给你说的越多,你越糊涂!多看书,多思考,等你考虑明白了,就会意识到书上不仅不错,而是你陷入了一个漩涡,还认为这个漩涡是对的。

仔细想一想,我在给你举个例子,假如你要调用String类,假如String类中有三个方法:method1(),method2(),method3(),假如method3是private的,那么当你在你的程序中调用String类的方法是,你就只能直接调用method1(),method2(),你却不能调用method3(),这就是private的作用。被private修饰的属性或方法只能有String类内部直接实用。不知道你能不能明白?

你哪里给“执行bpp的给a赋值”啦?

b.a = 50;

这样才是给a赋值了。

看不懂~