如果我在一個類中創建一個具有構造函數的對象,並且構造函數爲該對象提供了像'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