A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

正确代码如下:
class ClassandObject {
        public static void main(String[] args)
        {
                Car car = new Car();
                car.color = "blue";  // car对象的颜色为blue
                car.run(); // 输出的是该辆车的颜色blue
        }
}
class Car  
{
        // 描述颜色
        String color = "红色";
        // 描述轮胎数
        int num = 4;
        // 运行行为
        void run()
        {
                System.out.println(color+"..."+num);
        }
}
错误描述:
学习这集的时候,我不小心将Car类写到了ClassandObject 类中,有报错提示,但是我在Car类前面加上了static关键字,程序却能执行了,有没有大神给我解释解释这是为什么呢?


评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

6 个回复

倒序浏览
这个得问大虾。哈哈看学习视频去咯。
回复 使用道具 举报
xiawei 发表于 2014-11-18 16:42
这个得问大虾。哈哈看学习视频去咯。

大虾,求指导!:lol
回复 使用道具 举报
建议好好看内部类。这个和main方法是否为静态关系不大。因为,一旦你吧car类放在ClassandObject中,那么Car类就是个内部类,你在main中new了一个car是不可以的,因为编译器会报“缺少ClassandObject的隐式引用”。就是说:一般内部类都会有一个对外围类的隐式引用。如果你想用car类就必须加static变成静态内部类。这样car就没有了对外围类的隐式引用。就可用了

点评

赞一个!  发表于 2014-11-19 07:01
回复 使用道具 举报
itDave 发表于 2014-11-18 23:52
建议好好看内部类。这个和main方法是否为静态关系不大。因为,一旦你吧car类放在ClassandObject中,那么Car ...

还没看到内部类哪里,加油!:)
回复 使用道具 举报
路过。。。。。。。。。。。。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马