好奇宝宝丶 2015-11-30 05:09 采纳率: 100%
浏览 1563
已结题

新人刚学Java,有个很纠结的点求帮忙解答

JAVA 在定义一个类时候,在他的内部定义main方法,
package com.pc;

public class Person {
private String name;
private String job;
private int age;

public Person(String name, String job, int age){
this.name = name;
this.job = job;
this.age = age;
}
void display(){
System.out.println("姓名:" +name + "\n职业:"+job + "\n年龄:"+age);
}

public static void main(String[] args) {
Person person = new Person("张三","学生",20);
person.display();
}
}
像这样创建一个对象person

再在同一个包下另创一个类,
package com.pc;

public class TestPerson {
public static void main(String[] args) {
Person person = new Person("李四","程序员",22);
person.display();
}
}
这样的情况明明对象的名字是相同的,为什么可以创建成功?
是不是因为在内部创建的main函数和在另一个类创建的main函数分配的存储位置不一样?

  • 写回答

5条回答 默认 最新

  • fyhju1 2015-11-30 05:37
    关注

    我也刚学java,我的理解是:
    只有我们执行的时候,我们才会开辟一个空间,再把创建的对象放在堆当中
    两个main方法他只是选择的一个执行,另一个对象person他是不会创建的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染