public class Student {
// Instance Variables
private String name;
private int age;
private String address;
// Default Constructor
public Student() {
this("Not Given", 0, "Not Given");
}
// Parameterized constructor that takes in values
public Student(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
// Getters and Setters
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress(){
return address;
}
public void setAddress(String address) {
this.address = address;
}
// toString() to be overriden
@Override
public String toString() {
return "Name: " + this.name + "\n" + "Age: " + this.age + "\n" + "Address: " + this.address;
}
}
`
public class MealCard {
private static int numberOfMealCards;
private final static int DEFAULT_BALANCE = 1000;
private int itemValue;
private int topUpValue;
public int newBalance;
// Getters and Setters
public int getItemValue() {
return itemValue;
}
public void setItemValue(int itemValue) {
this.itemValue = itemValue;
}
public int getTopUpValue() {
return topUpValue;
}
public void setTopUpValue(int topUpValue) {
this.topUpValue = topUpValue;
}
// purchaseItem method for when students buy food
public int purchaseItem() {
newBalance = DEFAULT_BALANCE - itemValue;
return newBalance;
}
// purchasePoints method for students topping up their meal card balance
public int purchasePoints() {
newBalance = DEFAULT_BALANCE + topUpValue;
return newBalance;
}
// Overriden toString method
@Override
public String toString() {
return "Name: " + getName + "\n" + "Age: " + getAge + "\n" + "Address: " + getAddress +
"\n" + "Meal Card Balance: " + newBalance + "\n" + "Number of Meal Cards: " + numberOfMealCards;
}
}
我认为用一个答案来说明这一点比用大量的评论来说明要容易得多。
在类中提供ToString
的实现,归结起来就是提供该类的String
表示,仅此而已。您要做的是为一个不相关的类(student
)提供字符串信息,mealcard
对这个类一无所知(也不应该)。
实现所需目标的方法可能是让student
更新以保存对mealcard
的引用(阅读:每个学生都有一个mealcard
),并且在toString
的student
实现中,使用您的饭卡引用从饭卡类获取toString
数据。
public class MealCard {
//... skipped over for simplicity
@Override
public String toString() {
return "Item Value = " + this.getItemValue() + ", TopUpValue = " + this.getTopUpValue() + " ... "; // and so on...
}
}
public class Student {
// other student data
MealCard mealCard; // set in constructor
// ... other methods
@Override
public String toString() {
return " ... other student data... MealCard = " + getMealCard().toString(); // use the mealcard reference to get string info
}
}
问题内容: 每当抛出javascript异常时,我们还想做一些额外的事情。 从以下文档: 角度表达式中任何未捕获的异常都委托给此服务。默认的实现只是将$ log.error委托给浏览器控制台。 它说“默认实现”的事实使我认为有一种方法可以为服务提供我们自己的实现,并在引发异常时做我们想要的事情。我的问题是,你如何做到这一点?我们如何使所有异常都保留给该服务,然后提供我们希望发生的功能? 问题答案:
我创建了一个(个人、学生、员工、教职员工)类。Person必须将Student和Employee分为子类。Employee有两个子类:教员和职员。我已经完成了所有的编码,他们工作得很好,除了我的驱动程序类TestPerson程序给出了编译错误 注:一个测试程序,创建一个人、学生、员工、教职员工,并调用他们的toString方法。 驱动程序类TestPerson的错误。以下是java:- **我只是
本文向大家介绍PyTorch实现重写/改写Dataset并载入Dataloader,包括了PyTorch实现重写/改写Dataset并载入Dataloader的使用技巧和注意事项,需要的朋友参考一下 前言 众所周知,Dataset和Dataloder是pytorch中进行数据载入的部件。必须将数据载入后,再进行深度学习模型的训练。在pytorch的一些案例教学中,常使用torchvision.da
本文向大家介绍js重写方法的简单实现,包括了js重写方法的简单实现的使用技巧和注意事项,需要的朋友参考一下 如下所示: 上面的内容来自《javascript语言精粹》,真的很不错。 以上这篇js重写方法的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
我遵循本指南https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/default-interface-methods使用默认接口实现功能。我复制了一段在接口中定义默认实现的代码,然后在接口中重写它: 但它给出了一个错误和一个警告。设置为,为。为什么即使在官方文件中有描述也不起作用
本文向大家介绍Java中equals()方法重写实现代码,包括了Java中equals()方法重写实现代码的使用技巧和注意事项,需要的朋友参考一下 Java中equals()方法重写实现代码 Java中的equals()方法是在Object类中定义,Object类是所有类的父类。换句话说,任何类都隐含地继承了该方法。判断两个对象的内容是否相同,必须使用equals()方法,对于没有重写该方法的