Java中的聚合关系
下面是一段Java代码,演示了在Java中使用“聚合”或has-a关系Java中的聚合关系,java,Java,下面是一段Java代码,演示了在Java中使用“聚合”或has-a关系 class Address{ private String addressLine; public String getAddressLine(){ return addressLine; } public void setAddressLine(String address){ addressLine=address; } } class Custom
class Address{
private String addressLine;
public String getAddressLine(){
return addressLine;
}
public void setAddressLine(String address){
addressLine=address;
}
}
class Customer{
private int customerId;
private Address address;
private static int counter = 1000;
public Customer{
customerId=++counter;
}
public int getCustomerId(){
return customerId;
}
public void set Address(Address address){
this.address=address;
}
public Address getAddress(){
return address;
}
}
class Retail{
public static void main(String args[]){
Address add=new Address();
add.setAddressLine("Washington Street");
Customer custObj = new Customer();
custObj.setAddress(add);
Address temp = custObj.getAddress();
System.out.println("Address");
System.out.println(temp.getAdressLine());
}
}
无法理解此处代码的某些部分。请解释一下程序的执行情况。
另外,为什么我们必须将get address的值存储在temp中才能打印它?还有其他方法吗?学习如何设置和获取聚合属性似乎是一个测试程序 在实际场景中,
Address add=new Address();
add.setAddressLine("Washington Street");
Customer custObj = new Customer();
custObj.setAddress(add);
saveCustomer(custObj);
这部分将是头等舱和
Customer custObj = getCustomer();
Address temp = custObj.getAddress();
System.out.println("Address");
将在其他文件中
第一部分,您可能将其保存到某个数据库或缓存中,而第二部分,您可能希望从db/cache获取相同的数据 对于1)你能详细说明你不理解的部分吗?对于2)您是否尝试了
System.out.println(custObj.getAddress().getAddressLine())代码>?您不了解哪些部分?几乎总是有其他的方法来实现它(不管“它”是什么)。在这种情况下,它存储在temp中,因此您不需要调用getAddress()函数两次,在某些情况下这可能会很昂贵。在Customer类中,我们声明“private Address Address”;如果执行一个函数,会发生什么情况?它是类地址的实例变量地址吗?