java中父类和子类都重写了tostring()方法,在主函数中该怎么调用
时间: 2023-03-28 08:01:58 浏览: 122
可以直接调用子类的toString()方法,因为子类重写了父类的toString()方法,所以会调用子类的toString()方法。如果想要调用父类的toString()方法,可以使用super关键字来调用。例如,如果子类为ChildClass,可以使用super.toString()来调用父类的toString()方法。
相关问题
java 在date类中重写tostring方法
在Java中,Date类已经重写了toString()方法,返回的是一个格式化的日期字符串。如果需要自定义日期字符串的格式,可以使用SimpleDateFormat类来格式化Date对象并将其转换为字符串。例如,以下代码将Date对象转换为"yyyy-MM-dd"格式的字符串:
```
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateString = sdf.format(date);
System.out.println(dateString);
```
这将输出当前日期的字符串表示,例如"2021-07-28"。
讲一下Java中equals和toString方法的重写
在Java中,equals和toString方法都是Object类中的方法,可以在所有的类中直接使用。但有时候需要对这些方法进行重写,以便满足具体的需求。
1. equals方法的重写:
在Java中,equals方法的默认实现是比较两个对象的引用是否相等。如果我们想要比较对象的属性是否相等,就需要重写equals方法。一般来说,我们需要在重写equals方法时遵循以下规则:
(1)自反性:对于任意非空的引用值x,x.equals(x)应该返回true。
(2)对称性:对于任意的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)应该返回true。
(3)传递性:对于任意的引用值x、y和z,如果x.equals(y)返回true,并且y.equals(z)返回true,那么x.equals(z)也应该返回true。
(4)一致性:对于任意的引用值x和y,如果用于equals比较的对象没有被修改,那么多次调用x.equals(y)应该一致地返回true或false。
(5)非空性:对于任意非空的引用值x,x.equals(null)应该返回false。
一个典型的equals方法的重写如下:
```
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
MyClass other = (MyClass) obj;
if (myField == null) {
if (other.myField != null) {
return false;
}
} else if (!myField.equals(other.myField)) {
return false;
}
return true;
}
```
2. toString方法的重写:
在Java中,toString方法的默认实现是返回一个对象的类名和哈希码。如果我们想要返回一个更有意义的字符串,就需要重写toString方法。一般来说,我们需要在重写toString方法时遵循以下规则:
(1)返回的字符串应该包含对象的重要属性值。
(2)返回的字符串应该简洁明了,易于阅读。
一个典型的toString方法的重写如下:
```
@Override
public String toString() {
return "MyClass [myField=" + myField + "]";
}
```
这个方法返回一个字符串,包含了myField属性的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)