问题描述
- 新人刚学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函数分配的存储位置不一样?
解决方案
我也刚学java,我的理解是:
只有我们执行的时候,我们才会开辟一个空间,再把创建的对象放在堆当中
两个main方法他只是选择的一个执行,另一个对象person他是不会创建的
解决方案三:
请问你们学java都是看什么教材啊
解决方案四:
如果你是从基础开始学的话,可以关注我
解决方案五:
这个问题我博客里面的java对象的作用域已解决,你可以去看,两幅图片