我在2个单独的文件中有2个类。我在Person.java中的第一堂课如下所示:
dns_get_record()
我如何在我的第二个类中引用^特定人物对象的名称属性(paul):Family.java的主要方法?在Family.java里面我试过创建一个新的person对象,但是我不能引用Person对象,Paul的名字属性。
几乎在Family.java中
public class Person(){
String name;
public static void main(String[] args) {
Person paul = new Person();
paul.name = paul();
}
}
在main方法里面我想得到paul对象,我在Person.java的main方法中创建了它的名字属性
答案 0 :(得分:1)
这不可能。在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;
}
}
但从您尝试做的事情(以及您有两种主要方法)来判断,您可能会遇到更深层次的问题。
答案 1 :(得分:0)
您可以在static member
课程中拥有Person
,然后在Family
课程中进行访问。您可以为getter
属性定义name
以获取Person
的名称。此外,您可以将该类保留在一个文件中,只保留其中一个类,因为文件名应与公共类相同。声明一个类也不需要()
。由于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:您希望使用此代码实现什么目标?因为two main method
不是必需的。您可以使用constructor
参数在Person
类中定义String
。根据需要在Person
课程中创建Family
对象。