Java 如何引用对象';在其他类的主方法中声明的属性
我在两个独立的文件中有两个类。我在Person.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
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语法。它应该是个人
和家庭
。