;class VolcanoRobot {
; String status;
; int speed;
; int power;
; VolcanoRobot(String int1,int int2,int int3) {
; status = int1;
; speed = int2;
; power = int3;
; }
; public static void main(String[] arguments) {
; VolcanoRobot vic = new VolcanoRobot("exploring",5,200);
; System.out.println("status: " + int1);
; System.out.println("speed: " + int2);
; System.out.println("power: " + int3);
; }
;}
怎么定义?那个在定义新的对象的时候不是付初值了吗
追答VolcanoRobot构造器里面的int1int2 int3生命周期到方法结束就结束了,这三个变量对main方法是不可见的,所以你改成
; System.out.println("status: " + status);
; System.out.println("speed: " + speed);
; System.out.println("power: " + power);
应该就好了
我以前也这样弄得,可是不对
追答这是因为
VolcanoRobot vic = new VolcanoRobot("exploring",5,200);这句话调用构造函数创建vic对象,status等三个变量是vic的field,只对vic这个对象可见
所以这么写:
; System.out.println("status: " + vic.status);
; System.out.println("speed: " + vic.speed);
; System.out.println("power: " + vic.power);
就可以了