如果我在一个类中创建一个具有构造函数的对象,并且构造函数为该对象提供了像'name'这样的属性,是否有方法从另一个类中专门访问String'name'?就像在中,如果我有一个方法将对象传递给该方法,并且该方法需要从构造方法中访问字符串'name',那么我该如何解决它?从构造函数中提取信息
这可能是一个坏的问题已经有答案,但因为我不知道正确的术语来搜索它我有点卡住了...
如果我在一个类中创建一个具有构造函数的对象,并且构造函数为该对象提供了像'name'这样的属性,是否有方法从另一个类中专门访问String'name'?就像在中,如果我有一个方法将对象传递给该方法,并且该方法需要从构造方法中访问字符串'name',那么我该如何解决它?从构造函数中提取信息
这可能是一个坏的问题已经有答案,但因为我不知道正确的术语来搜索它我有点卡住了...
您无法读取传递给参数构造函数定义之外的构造函数,除非该参数存储在类的字段中。当然,如果你创建一个像MyClass myObject = new MyClass("Some String");
这样的类的实例,你可以在创建该对象的代码范围内访问一些字符串。
一个类的领域,从一个实例myObject
说现场fieldName
的方式的一类MyClass
可以被另一个类访问是:
myObject.fieldName
MyClass
MyClass
有该领域的吸气剂:myObject.getFieldName()
getFieldName()
方法,那么它不能从课外访问。这里有几个类,我想展示你想要做什么。 我有一个Person类,它有一个名字字段和一个名为sayHello的方法的Friend类,它访问Person的name属性。
public class Main
{
private static class Friend
{
public void sayHello(Person person)
{
System.out.println("Hello " + person.getName());
}
}
private static class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
public static void main(String[] args)
{
Person person = new Person("John Smith");
Friend friend = new Friend();
friend.sayHello(person);
}
}
您可以为您的类添加一个getter,以便使用代码可以访问该对象内的该值。这与构造函数无关。 – David
是的,就像@大卫说的。你知道getter和setter方法吗? (我也不是一个自作聪明顺便说一句)。 – Mike
@大卫好吧,所以没有办法只通过传递对象的方法来获得它? – user13948