变量可以不赋值

java中,定义private double a ,不为a变量赋初值,但已经将变量封装了,想要通过用户输入值给a赋初值,这样行吗?具体过程
人呢

当然可以啊,在变量a所在的类(假设名为Test)中加上一个set方法,public void setA(double a){this.a=a;}
那么在主函数中,Test t=new Test(); t.setA(5.6);就可以给a赋值了追问

在set方法里我使用scanner给a赋值了,也在主函数里调用了,但是想再使用输入那个值在别的类里不成功。t.getA()不等于输入的值而是等于零,该怎样才能使输入的值在别的类里也能调用成功?

追答

当然在另外的类不能用,一个类每个对象有自己的属性,都是相互独立的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-17
java中所有变量都必须赋初值,局部变量必须赋值,属性java会自动赋初值。
第2个回答  2013-10-17
在JAVA中为了保护类的属性,会用private修饰符修饰,然后通过public方法来访问private属性。通过set方法去设置这个属性,通过get方法去火的这个属性。例如你要得到这个a可以定义两个方法public void setA(double a){
this.a = a;}
public double getA(){
return a;}追问

getA()返回的值a在另外的类里new完以后,怎么调用不了?不是从键盘输入的值而是零

追答

你要先把你输入的值通过setA方法传进去,再通过getA得到

相似回答