如果我在一个类中创建一个带有构造函数的对象,并且构造函数为对象提供了诸如' name'之类的属性,那么有没有办法专门访问String' name'来自另一个班级?如果我有一个方法可以将对象传递给,并且该方法只需要访问String' name'从构造函数中,我该如何实现它?
这可能是一个已经有答案的糟糕问题,但由于我不知道搜索它的正确术语,我有点卡住......
答案 0 :(得分:1)
除非该参数存储在类的字段中,否则无法从构造函数定义外部读取传递给构造函数的参数。当然,如果您创建类MyClass myObject = new MyClass("Some String");
之类的实例,则可以在创建该对象的代码范围内访问某些字符串。
类的字段(例如来自实例fieldName
的字段myObject
和类MyClass
可以被另一个类访问的方式是:
myObject.fieldName
MyClass
MyClass
有字段的getter:myObject.getFieldName()
getFieldName()
方法,则无法从该类外部访问该字段。答案 1 :(得分:0)
以下是一些我认为可以展示您想要做的课程。 我有一个具有名称字段的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);
}
}