黑马程序员技术交流社区

标题: 064_面向对象(类和对象的关系)中的问题 求解!!! [打印本页]

作者: Smart_lll    时间: 2014-11-18 16:29
标题: 064_面向对象(类和对象的关系)中的问题 求解!!!
正确代码如下:
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关键字,程序却能执行了,有没有大神给我解释解释这是为什么呢?



作者: xiawei    时间: 2014-11-18 16:42
这个得问大虾。哈哈看学习视频去咯。
作者: Smart_lll    时间: 2014-11-18 16:47
xiawei 发表于 2014-11-18 16:42
这个得问大虾。哈哈看学习视频去咯。

大虾,求指导!:lol
作者: itDave    时间: 2014-11-18 23:52
建议好好看内部类。这个和main方法是否为静态关系不大。因为,一旦你吧car类放在ClassandObject中,那么Car类就是个内部类,你在main中new了一个car是不可以的,因为编译器会报“缺少ClassandObject的隐式引用”。就是说:一般内部类都会有一个对外围类的隐式引用。如果你想用car类就必须加static变成静态内部类。这样car就没有了对外围类的隐式引用。就可用了
作者: Smart_lll    时间: 2014-11-19 07:06
itDave 发表于 2014-11-18 23:52
建议好好看内部类。这个和main方法是否为静态关系不大。因为,一旦你吧car类放在ClassandObject中,那么Car ...

还没看到内部类哪里,加油!:)
作者: eric_quan    时间: 2014-11-19 10:38
路过。。。。。。。。。。。。。。。。。




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