如何将信息从一个类传递到另一个类
我正在创建一个允许用户输入客户详细信息的程序。当他们保存每个客户记录时,可以选择添加其他信息。我无法在我的追加类中获取保存文件的名称。我需要文件名,以便将附加信息保存到为客户创建的相同文件中。如何将文件名从一个文件传递到另一个文件。如何将信息从一个类传递到另一个类
File FName = fileChooser.getSelectedFile();
String name = FName.getName();
public String getname() { return name; }
这段代码在我的客户类中如何在我的append类中获取此信息?
可能是这样的:
Customer customer = new Customer();
// do some stuff with your customer object, including initiating the File and saving its name to a String field called name
Append append = new Append();
append.foo(customer.getName()); // passes the name of the file to the foo method of class Append
这是假设你只需要在一个方法的文件名(尽管你可以将它保存到一个字段作为方法foo()
的一部分)。你需要在类Append中实现一个方法foo(String name)
。
另一种办法是把它作为追加的构造方法:
Append append = new Append(customer.getName());
append.foo();
对于这一点,你需要实现类追加构造Append(String name)
。
+1 append append = new Append(customer.getName()); append.foo(); – Speck 2011-06-02 13:56:43
有几种方法可以做到这一点,具体取决于你正在尝试做什么。
- 给追加类Customer类
- 的成员变量有附加类的构造函数采取任何会指客户,如姓名的字符串或客户对象的参数,因为这就是Java
你的问题并不完全清楚,我,但这里是你可能会遇到一个问题,根据您的描述:
- 什么的getName()应该返回时,网络的名称le,还是这个人的名字?如果它应该返回文件名,那么使用getFileName()来代替 - 它更清晰!
我不明白为什么你需要一个Append类。就我个人而言,我会处理附加客户类中的其他信息。我会做,所以每一个值添加或更改时间,相关信息被保存回到类似于文件:
class Customer {
public void setForename(String forename) {
this.forename = forename;
save();
}
public void setSurname(String surname) {
this.surname = surname;
save();
}
public void save() {
// clear file
// add new content
String fileContents = "forename="+forname+"&surname="+surname;
// save to file
}
也许我不理解你的需求,虽然正确...
我同意。与客户相关的附加信息应作为客户对象的属性进行存储。这可以像字符串一样简单,或者像append类一样复杂(append并不是很具描述性)。 – Heathen 2011-06-02 13:56:42
除了DeadPassive将附加信息与客户对象相关联的答案之外:
保存客户数据不属于客户类别。持久化数据的逻辑属于与处理问题域的代码相关的单独层。控制器或服务类似乎是放置持久性逻辑的更合适的地方。
这与[JavaScript](http://stackoverflow.com/tags/javascript/info)有什么关系? – 2011-06-02 12:56:26