您的位置:程序门 -> java -> j2se / 基础类



这样写为什么不对


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


这样写为什么不对
发表于:2008-01-14 17:50:35 楼主
class   a
{
}
class   b
{
     
      a   a1=new   a();

      a   a2;
      a2=new   a();

    public   static   void   main(string[]   args)
    {

    }
}
为什么
a   a2;
a2=new   a();
会不对?
它和
a   a1=new   a();
有什么区别吗?
发表于:2008-01-14 17:57:401楼 得分:0
java code
a2=new a();

在类一级没有这样的语法,如果你想初始化,需要采用
java code
a a2; { a2=new a(); }
发表于:2008-01-14 18:08:362楼 得分:0
该回复于2008-01-15 10:03:08被管理员删除
发表于:2008-01-14 18:11:493楼 得分:0
在类里面除了方法和属性的声明就是代码块.
要么是声明的同时赋值,如同:   "a   a1   =   new   a();"  
要么是只声明不赋值,如同:   "a   a2;"   那么这个属性取默认值.
要么是一段代码块,如同:
{
    a2   =   new   a();  
}

而   "a2   =   new   a();"   不是方法,不是属性的声明,不是代码块...

当然就报错了...
发表于:2008-01-14 18:36:084楼 得分:0
没见过,楼上说的都不错,学习
发表于:2008-01-14 19:28:245楼 得分:0
好好看看语法书。
发表于:2008-01-14 21:41:416楼 得分:0
a2=new       a();  
这句话你写到外面去了,执行不了的。
发表于:2008-01-14 22:38:287楼 得分:0
来解释下,混饭吃的!讲得能理解就散点分:

发表于:2008-01-14 22:39:088楼 得分:0
来解释下,混饭吃的!讲得能理解就散点分:

发表于:2008-01-14 22:39:569楼 得分:0
怎么回复了没反应啊,没显示出啦:
??
来解释下,混饭吃的!讲得能理解就散点分:

class       a
{
}
class       b
{
         
            a       a1=new       a();     //这里定义一个成员他的访问属性是默认(可以是public,private吧?),并且初始化它

            a       a2;     //这里定义一个成员他的访问属性是默认(可以是public,private吧?)
            a2=new       a();//非法,不认识的代码,

        public       static       void       main(string[]       args)//定义类的方法吧?
        {

        }
}
好到这里我要说下类的定义规则了,就是java的语法啦:
首先说明类名,在定义他有那些属性(也就是成员变量啦),在就是定义类的方法(也就是类的成员函数啦),基本的就怎么多吧,
好在回来看看你这里:
  a       a2;     //这里定义一个成员他的访问属性是默认(可以是public,private吧?)
  a2=new       a();//非法,不认识的代码,(你这里是定义什么呢,还是想怎么样啊?)
在来看你写对了的:
a       a1=new       a();   //这里定义一个成员他的访问属性是默认(可以是public,private吧?),这里只不过是你把类的成员变量出示化了(好java比c++特殊了,java中说明了可以这样给类的成员初始化)

在说说吧:
其实a       a1=new       a()这样的写法我们是很少写的,我们更喜欢吧类自己的成员初始化放到他的构造函数里去哦。


快速检索

最新资讯
热门点击