黑马程序员技术交流社区

标题: 对象调用成员过程 [打印本页]

作者: 王涛    时间: 2012-2-23 03:20
标题: 对象调用成员过程
本帖最后由 王涛 于 2012-2-24 10:54 编辑

看了视频,这点还是不太明白,是怎样调用的,在内存中的顺序是?
class Person
{
    private String name;
    private int age;
    private static String country = "cn";
    Person (String name,int age)
    {
       this.name = name;
       this.age = age;
    }
    public void setName (String name)
    {
       this.name = name;
    }
    public void speak()
    {
       System.out.println(this.name+"..."+this.age);
    }
    public static void showCountry()
    {
       System.out.println("country="+country);
    }
}
class PersonDemo
{
     public static void main(String[] args)
     {
             Person p = new Person("zhangsan",20);
             p.setName("list");
      }
}
想知道是哪个先执行的,在内存中的顺序?谢谢
哦,看糊涂了,,忘写了,呵呵
作者: zclove898    时间: 2012-2-23 07:11
朋友,你的这个程序没法运行啊,缺乏主函数啊。
作者: 陈伟    时间: 2012-2-23 07:19
程序执行的时候总是先找main()函数,它是程序运行的入口,你这段代码根本没有main函数,无法运行
作者: 杨曾荣    时间: 2012-2-23 08:40
这个程序要运行需在一个带有public static void main(String[]args)的主函数里面调用speak()
或者showCountry()方法,才可以看到运行的结果 ,至于那个先运行的话呢,就是根据你调用哪个方法在前,就先运行哪个吧
作者: 【专】【属】    时间: 2012-2-23 08:40
同学如果是 Person p = new Person(name,age);
执行过程:
1 jvm先将Person的类的字节码装入内存
2字节码装入完成以后,会对静态的成员country分配内存并初始化cn
3创建对象,对成员属性name和age分配内存并初始化为null和0
4执行构造方法,并返回对象
作者: 花开~的季节    时间: 2012-2-23 08:47
main函数




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