当前位置: 代码迷 >> Java相关 >> Java是可以在类中声明变量时,同时给这个变量赋值的是吧,那为什么这样写不 ...
  详细解决方案

Java是可以在类中声明变量时,同时给这个变量赋值的是吧,那为什么这样写不 ...

热度:143   发布时间:2006-02-05 11:38:00.0
Java是可以在类中声明变量时,同时给这个变量赋值的是吧,那为什么这样写不行呢?

就是这个程序:
class Box
{
double width=10;
double height=10;
double depth=10;
Box()
{
System.out.println("Constructing Box");

}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}

}

这样编译能通过,结果:
Constructing Box
Constructing Box
Volume is1000.0
Volume is 1000.0
Press any key to continue...

但是,把这个程序改一下:
class Box
{
double width;
double height;
double depth;
width=10;height=10;depth=10;
Box()
{
System.out.println("Constructing Box");

}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}

}

编译就不能通过了,错误如下:
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^
BoxDemo6.java:6: <identifier> expected
width=10;height=10;depth=10;
^

3 errors

谁知道这是怎么回事吗?谢谢!!

搜索更多相关的解决方案: 变量  赋值  Java  声明  

----------------解决方案--------------------------------------------------------
改称这样就可以了,因为你把负值语句写在外面了
class Box
{
double width;
double height;
double depth;
width=10;height=10;depth=10;
Box()
{
System.out.println("Constructing Box");

}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}

}


----------------解决方案--------------------------------------------------------

刚才粘贴错了,把你原来的弄上去咯,歹势
class Box
{
double width;
double height;
double depth;

Box()
{
width=10;
height=10;
depth=10;
System.out.println("Constructing Box");

}
double volume()
{
return width*height*depth;
}
}
class BoxDemo6
{
public static void main(String []args)
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
vol=mybox1.volume();
System.out.println("Volume is"+vol);
vol=mybox2.volume();
System.out.println("Volume is "+vol );
}

}


----------------解决方案--------------------------------------------------------
因为你在主函数中调用vloume函数,生成对象同时并不知道你所赋的值,
但是在声明的时候赋值就不一样了。
----------------解决方案--------------------------------------------------------
  相关解决方案