Java 如何引用对象';在其他类的主方法中声明的属性

Java 如何引用对象';在其他类的主方法中声明的属性,java,object,Java,Object,我在两个独立的文件中有两个类。我在Person.java中的第一个类如下所示: public class Person(){ String name; public static void main(String[] args) { Person paul = new Person(); paul.name = paul(); } } 在我的第二个类:Family.java的main方法中,如何引用^specific person对象的n

我在两个独立的文件中有两个类。我在Person.java中的第一个类如下所示:

public class Person(){
    String name;
    public static void main(String[] args) {
        Person paul = new Person();
        paul.name = paul();
    }
}
在我的第二个类:Family.java的main方法中,如何引用^specific person对象的name属性(paul)?在Family.java内部,我尝试创建一个新的person对象,但无法引用person对象Paul的name属性

差不多是在Family.java中

public class Family(){
    public static void main(String[] args) {

    }
}

在main方法内部,我想获得paul对象,它是我在Person.java的main方法中创建的,'s name属性

这是无法实现的。当
Person.main
返回时,
paul
超出范围,不再可访问,并有资格进行垃圾收集

您可以这样做:

public class Person{
    String name;
    static Person paul;
    public static void main(String[] args) {
        paul.name = "Paul"; //I assume you meant this?
    }
}

public class Family{
    public static void main(String[] args) {
        Person paul = Person.paul;
    }
}

但是,从您试图做的事情(以及您有两种主要方法)来看,您可能有一个更深层次的问题。

您可以在
Person
类中拥有
静态成员
,然后在
家族
类中访问。您可以为
name
属性定义
getter
,以获取
人员的姓名。您还可以将两个类都保存在一个文件中,只保留一个类为public,因为文件名应该与public类相同。声明类时也不需要
()
。由于类中的
name
String
类型,因此可以定义一个字符串文字来分配给它

public class Family {
  public static void main(String[] args) {
    Person person = Person.paul;
    String name = person.getName();
  }
}

class Person{
  private String name;
  static Person paul;

  public static void main(String[] args) {
    paul = new Person();
    paul.name = "paul";
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }    
}

PS:您想用这段代码实现什么?因为不需要两种主要方法。您可以使用
字符串
参数在
Person
类中定义
构造函数。根据需要在您的
Family
类中创建
Person
对象。

一个程序只有一个。和
paul.name=paul()
是胡言乱语。
Person()
Family()
不是正确的java语法。它应该是
个人
家庭