| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 736 人关注过本帖
标题:Java是可以在类中声明变量时,同时给这个变量赋值的是吧,那为什么这样写不 ...
只看楼主 加入收藏
Grace_TT
Rank: 1
等 级:新手上路
威 望:1
帖 子:324
专家分:0
注 册:2005-12-21
收藏
 问题点数:0 回复次数:3 
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 声明 
2006-02-05 11:38
apang_007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-10-21
收藏
得分:0 
改称这样就可以了,因为你把负值语句写在外面了
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 );
}

}

2006-02-05 15:08
apang_007
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2005-10-21
收藏
得分:0 

刚才粘贴错了,把你原来的弄上去咯,歹势
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 );
}

}

2006-02-05 15:10
weizheng
Rank: 1
等 级:新手上路
威 望:2
帖 子:286
专家分:0
注 册:2005-4-21
收藏
得分:0 
因为你在主函数中调用vloume函数,生成对象同时并不知道你所赋的值,
但是在声明的时候赋值就不一样了。

温和如玉,完美纯正。
2006-02-06 21:13
快速回复:Java是可以在类中声明变量时,同时给这个变量赋值的是吧,那为什么这样 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016518 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved