- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在作业时遇到问题,因为我对 java 对象的理解有缺陷。我创建了 3 个类。第一个类创建一个对象来保存组成全名的值,第二个类是 MailingAddress 类,它扩展 FullName 类并通过 super() 方法利用继承。第三类是运输标签类,它需要 2 个 MailingAddress 对象...一个对象表示为 ShipTo,另一个表示为 ShipFrom,并具有单一方法 printLabel()。所有对象都会重写 toString() 方法进行输出,下面是我的代码和输出:
public class FullName {
private String title;
private String firstName;
private String middleName;
private String lastName;
FullName(){
title = "";
firstName = "";
middleName = "";
lastName = "";
}
FullName(String title, String first, String middle, String last){
super();
this.title = title;
this.firstName = first;
this.middleName = middle;
this.lastName = last;
}
public String toString(){
return title + ". " + firstName + " " + middleName + " " + lastName + "\n";
}
}// end of class
public class MailingAddress extends FullName{
private String streetAddress, city, province, postal;
private FullName fn = new FullName();
MailingAddress(){
super("","","","");
streetAddress = "";
city = "";
province = "";
postal = "";
}
MailingAddress(String title, String first, String middle, String last, String street, String city, String prov, String postal){
super(title, first, middle, last);
this.streetAddress = street;
this.city = city;
this.province = prov;
this.postal = postal;
}
public String toString(){
return fn.toString() + " " + streetAddress + "\n" + city + ", " + province + "\n" + postal;
}
}// end of class
public class ShippingLabel extends MailingAddress{
private MailingAddress shipTo;
private MailingAddress shipFrom;
private ShippingLabel(MailingAddress shTo, MailingAddress shipFm){
this.shipTo = shTo;
this.shipFrom = shipFm;
}
private void printLabel(){
ShippingLabel label = new ShippingLabel(shipTo, shipFrom);
System.out.println(label.toString());
}
public String toString(){
return "Ship to:" + shipTo + "\n" + "\n" + "Ship From: " + shipFrom;
}
public static void main(String[] args){
MailingAddress shTo = new MailingAddress("Mr","Jonathan","Daniel", "O'Connor","109732","Edmonton", "Alberta", "T5m1K3");
MailingAddress shipFm = new MailingAddress("Mr","Piercy","Michael","Miller","23 Oreville way","Calgary","Alberta","C3p5o1");
ShippingLabel sL = new ShippingLabel(shTo,shipFm);
sL.printLabel();
} // end of main
}// end of class
输出:
运送至:。
109732艾伯塔省埃德蒙顿T5m1K3
发货地点: .
23 奥雷维尔路艾伯塔省卡尔加里C3p5o1
进程已完成,退出代码为 0
我不明白的是为什么使用 FullName 构造函数的值没有打印在输出中。我希望类 FullName 和 MailingAddress 中的 toString 方法能够协作组成 ShippingLabel。希望通过查看我的代码,您可以了解我的思维过程,并解释它的缺陷所在。
最佳答案
问题出在您的 MailingAddress.toString()
函数中。
您没有使用正确的对象来调用toString()
函数。由于 MailingAddress
是从 FullName
继承的,因此您不需要创建 FullName
类型的新成员。您应该使用 super
关键字继承 FullName
的 toString()
。
以下是更正后的版本。请参阅the complete code working here :
public String toString()
{
return super.toString() + " " + streetAddress + "\n" + city + ", " +
province + "\n" + postal;
}
[注意:MailingAddress
和 FullName
之间的关系是 has-a
而不是 is a
即 MailingAddress
有一个 FullName
但 MailingAddress
不是 FullName
。上面的解决方案是使用 is-a
关系。请参阅此处 solution using has-a
relationship 。 ]
关于java - 如何使用 toString 方法打印第三个对象中的两个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59433834/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!