黑马程序员技术交流社区

标题: java问题有点不明白 [打印本页]

作者: 李嘉泓    时间: 2015-4-1 23:24
标题: java问题有点不明白
class CarDemo
{
    public static void main(String[] args)
    {
        Car c=new Car();
    }
}
class Car
{
    string color="红";
    int num=4;
    void run()
    {
        System.out.println("color="+color+"num="+num);
    }
}

用红色标记的那一条,具体是什么意思啊,前后两个car分别代表的是什么啊

作者: 快乐ABC    时间: 2015-4-1 23:34
前面的Car是一个引用变量,在栈内存中,后面的Car是在new一个对象,在堆内存中开辟空间,然后前一个栈内存中的变量指向堆内存中产生的对象
作者: P李勇    时间: 2015-4-2 01:55
class CarDemo
{
    public static void main(String[] args)
    {
        Car c=new Car();
    }

}
上面的是你的主函数,Car c=new Car();意思是说构造了一个自定义类Car

在这下面的代码就是你自己定义的Car类的一些属性和方法
作者: DxxD    时间: 2015-4-2 06:53
坐等答案
作者: 胡谭龙    时间: 2015-4-2 14:50
多看看内存分析
作者: Sylvanas    时间: 2015-4-2 15:13
第一个Car表示类,c属于car类,第二个new car()表示实例,说明c是car类中的某个特定的car()
作者: sepallen    时间: 2015-4-2 15:20
新建了一个car对象,然后程序执行car那个类
作者: cody    时间: 2015-4-2 17:41
前面的Car是数据类型,c是局部变量,后面是建立对象。其实毕老是师是拿生活中的例子来说,让我们比较容易懂,这跟建立数组同一个道理
作者: cody    时间: 2015-4-2 17:46
其实跟建立数组对象同一个道理,int[] x=new int[3];前面的car是数据类型,c是局部变量,后面是建立对象。
作者: ws748264    时间: 2015-4-2 17:46
有人已经替我回答了
作者: 无辜被杀害    时间: 2015-4-2 18:10
前面的代表类型,就像int a一样,代表Car类型,后面的就是用构造方法创建Car的对象




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