| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 712 人关注过本帖
标题:请教大家几个问题
只看楼主 加入收藏
Java初学者
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-2-20
收藏
 问题点数:0 回复次数:3 
请教大家几个问题
1.C++中,定义一个类时,不能对成员变量赋初值;而JAVA中好象可以.
      class MyClass
{
 int x=10;   //这里为什么可以为成员变量赋初值?
 public MyClass()
 {
 }
 public MyClass(int intx)
 {
  x=intx;
 }
 public static void main(String args[])
 {
  MyClass obj1=new MyClass();
  System.out.println(obj1.x);
  MyClass obj2=new MyClass(20);
  System.out.println(obj2.x);
 }
}
2.上面的成员变量x这样赋初值后,在类装载进内存时会为它分配内存空间吗?(好象只有静态的才会分配).这样定义合法(能通过编译和顺利运行),好象构造函数的功能因此削减了不少.不过是不是这样定义没意义?或者说不提倡?
3.C++中定义常量用CONST,在JAVA中是不是用final?而在方法里可以定义常量吗?比如在某方法中final int y=30;  这样可以没吗?

谢谢大家!
搜索更多相关主题的帖子: public JAVA 空间 
2005-02-20 15:02
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
1:很多东西没有这么多为什么的,OK?这就是规定,你要去适应,同样的我也可以反问:C++里为什么不可以赋值呢?
2:一般都是提倡在构造器里进行赋值的,这样的写法只能算是一个trick吧,可能会有需要的时候,增加灵活性,可以这么理解
3:是用final。可不可以你试一下就知道了,这样你会记得更牢,嘿嘿

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2005-02-22 14:59
Java初学者
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-2-20
收藏
得分:0 
谢谢tempnetbar!
其实我也觉得研究这样的问题好象没什么意义,有点钻牛角.看来应该想的多想,不应该想的不能浪费时间.

再请教tempnetbar一个问题:我学Java没多少时间,你觉得作为初学者的我刚刚开始有没有必要花太多时间在诸如上面我问的问题?
2005-02-22 16:13
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
嗯……这个嘛~ 第一:关于Java的语法是一定要熟悉的,这点是肯定的。 第二:如果你要熟悉Java的语法以及他的一些trick(技巧)或者是trap(陷阱)及pitfall(缺点)的话可以看SL-275官方教程(熟悉语法,trick,trap等),JavaRule(回答诸如为什么的问题以及一些trap和pitfall),PraticalJava(基本上都很有用) 第三:由于你是初学我建议你看看http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=8&ID=4267这个帖,并且推荐你看SL-275的教材,然后再作决定,要不要看我推荐的那些书(不包括那本官方教材)

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2005-02-22 16:31
快速回复:请教大家几个问题
数据加载中...
 
   



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

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