黑马程序员技术交流社区

标题: 创建对象 [打印本页]

作者: 张钧杰    时间: 2012-3-23 00:00
标题: 创建对象
class Computer
{
        public void run()
        {
                System.out.println("电脑运行");
        }
}
class Teacher
{
        private String name;
        private Computer cmpt;
        Tercher(Sring name)
        {
                this.name = name;
                cmpt = new Computer();
        }
}
中的
cmpt = new Computer();为什么不这个么写Computer cmpt = new Computer();
难道 前面不用写Computer
作者: lipanfeng    时间: 2012-3-23 00:03
        private String name;
        private Computer cmpt;//这里已经声明了,所以不用再写Computer
        Tercher(Sring name)
        {
                this.name = name;
                cmpt = new Computer();
        }
}

作者: 王思兰    时间: 2012-3-23 00:04
成员变量里已经定义过了
作者: Destiny    时间: 2012-3-23 00:05
private Computer cmpt;  因为你这里已经声明了这个变量啦 相当于是 Computer cmpt = null ;
作者: 张钧杰    时间: 2012-3-23 00:05
那可不可以写上呢
作者: 刘元霄    时间: 2012-3-23 00:06
private Computer cmpt;
  你在前面不是已经定义了吗?
  后面直接给 cmpt 赋值就好了!
  所以就 cmpt = new Computer();

其实就是这样

Computer cmpt = null;  没有赋值 ;
cmput = new Computer();  需要使用时才赋值!
作者: Destiny    时间: 2012-3-23 00:07
张钧杰 发表于 2012-3-23 00:05
那可不可以写上呢

应该是不可以,因为你之前已经声明了,再写就是又声明同样名字的变量。 你可以试试
作者: 孙国军    时间: 2012-3-23 00:09
private Computer cmpt;

已经声明了,可以直接用
作者: 王思兰    时间: 2012-3-23 00:11
如果想写的话,就要把外面声明语句去掉




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2